E. Scott Daniels [Mon, 16 Mar 2020 17:12:59 +0000 (13:12 -0400)]
Correct meid table parse bug
The MEID table parser was not ack/nacking to route manager
when the end of the table was recognised.
Issue-ID: RIC-273
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I2272005301bb376942cb4be262406846f98270ef
E. Scott Daniels [Fri, 13 Mar 2020 15:10:34 +0000 (11:10 -0400)]
Break changes for easier doc generation
Because the repo houses both the core RMR and python
wrappers the changes file was messy. This change breaks
the changes file into one for wrappers and one for the
core RMR code. The RTD release notes is generated by
combining these changes files with meaningful section
headers.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I5cac1f601c9e5c71e6ab14c34751100410882688
E. Scott Daniels [Tue, 10 Mar 2020 12:28:37 +0000 (08:28 -0400)]
Add health check mesage types
This change adds the health check message types to the main
RIC message type list.
Issue-ID: RICAPP-25
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I9010ae719c27ff5a6271fa8fe05e2499eb83759f
E. Scott Daniels [Mon, 9 Mar 2020 17:57:39 +0000 (13:57 -0400)]
Add the wormhole call function
This change adds the rmr_wh_call() function to provide a
wormhole send which blocks until a response is received.
Issue-ID: RICAPP-80
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ic97001db8a9fb177c70045fc3d0326805b9fb17b
E. Scott Daniels [Fri, 6 Mar 2020 18:40:33 +0000 (13:40 -0500)]
Correct CMake document reference typo
The man page build CMake file had a typo which was
preventing it from building in the merge environment.
Issue-ID: RICAPP-79
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I91676b688ddbac1833e552008ce40f68904ce792
E. Scott Daniels [Fri, 6 Mar 2020 17:29:28 +0000 (12:29 -0500)]
Add wormhole state check function
This change adds a new function allowing the state of a wormhole
to be checked by the user programme.
Issue-ID: RICAPP-79
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Id685dcb163f7266aa40f04317bee2b23fade4f43
E. Scott Daniels [Fri, 6 Mar 2020 14:13:06 +0000 (09:13 -0500)]
Add missing changes and CMake from last change
The CHANGES and CMakefile needed to bump the version on
the last change were omitted. This adds those files.
Issue-ID: RICAPP-78
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Id37dc89fb2f33d6cce0bf4b7661bdf6c70bcddbe
Matti Hiltunen [Fri, 6 Mar 2020 13:57:50 +0000 (13:57 +0000)]
Merge "Address code analysis issues"
E. Scott Daniels [Thu, 5 Mar 2020 21:16:09 +0000 (16:16 -0500)]
Address code analysis issues
This change addresses the bugs which Sonar identified on
5 March 2020. These were identified as Reliability bugs
two of which were found to be true issues; all were
addressed in hopes of keeping sonar quiet.
Issue-ID: RICAPP-78
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Id575817686395bbad9683b1df476e3e1e7fbd2b2
Lott, Christopher (cl778h) [Thu, 5 Mar 2020 15:19:50 +0000 (10:19 -0500)]
Add option for xml coverage to pytest
Also add invocation of coverage tool
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I61d188c72cec0b36f059825246fa99732da715a5
E. Scott Daniels [Fri, 21 Feb 2020 18:24:29 +0000 (13:24 -0500)]
Add first set of SI95 unit tests and health check
This change adds the first series of unit tests for
the RMR SI95 code. It also bundles the running of
the unit tests and the application level tests into
the CMake description such that "make test" will
run them all.
The health check application (health_ck) is now built
from the "support" source and added to the RMR run-time
package in /usr/local/bin.
Issue-ID: RIC-151
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I72804452afa5a972aa4ca0ded7b68131e16f5955
Tommy Carpenter [Tue, 3 Mar 2020 22:04:55 +0000 (22:04 +0000)]
Release 221
Issue-ID: RICAPP-74
Change-Id: I156f1e0d584e62b3f5670cc3b09d9c9c31075034
Signed-off-by: Tommy Carpenter <tc677g@att.com>
E. Scott Daniels [Tue, 3 Mar 2020 20:30:59 +0000 (15:30 -0500)]
Fix MEID unit test, catch init failure
The RMR change to support routing based on the MEID (
190665fe)
broke the related unit tests. This change fixes the unit test.
This change also adds a check to the init wrapper function to
ensure that an error is generated if RMR is unable to initialise
the underlying transport.
Issue-ID: RICAPP-74
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I1f3ca3f8e821cd1356fb5247404b8cafd22a6119
E. Scott Daniels [Fri, 28 Feb 2020 15:21:09 +0000 (10:21 -0500)]
Fix bug preventing table ID from being sent on ack
When RMR acks the receipt of a route table to Rt. Mgr. it
was failing to send the table ID. This change fixes this
problem.
Issue-ID: RIC-232
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I363df4d2b1ecc8432ed7767edfabbf78c575838d
E. Scott Daniels [Wed, 26 Feb 2020 19:28:54 +0000 (14:28 -0500)]
Fix message marker for src reset on send/rts
The SI95 receive function was not properly causing a
message buffer to be marked as "receive generated" and
if the msg buffer was subsequently used to send a message
(e.g. return to sender) the correct source address was
not placed into the message before sending. This change
ensures that the message buffer received via SI95 are
marked so that a send will set the source address when
needed.
Issue-ID: RIC-227
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ic9c49834e5f066420463fa4568cfdf6f722f81cb
E. Scott Daniels [Wed, 26 Feb 2020 14:20:45 +0000 (09:20 -0500)]
Changes to fd2ep for locking and disconnect locking
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I4c3d9d4191d0c994246c076861b52973413404a6
E. Scott Daniels [Tue, 25 Feb 2020 15:40:20 +0000 (10:40 -0500)]
Address multi-threading issues in SI95
There are potential issues when a uer application is multi-threaded
and disconnections are noticed. This change addresses these issues.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ie586cfe6294429b299e0044b2f6bf315d78104ce
E. Scott Daniels [Mon, 24 Feb 2020 15:14:56 +0000 (10:14 -0500)]
Fix meid related core dump
This change fixes a bug in rtable_nng_static and rtable_si_static
modules. The caller's reference to the discovered endpoint was
not always being set correctly.
The change also corrects the unit test which missed the problem.
Issue-ID: RIC-220
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I11a5e89638845b1f31953c16bb584108c0f88850
E. Scott Daniels [Fri, 21 Feb 2020 18:58:19 +0000 (13:58 -0500)]
Revert RTS to use unidirectional connection
Because of potential performance impacts it was decided to
revert return to sender messages to NOT use the same
connection that the message was received on. This applies
only to the SI95; RTS has always been on uni-directional
connections with NNG.
This change also enables the MEID routing in the SI95 code.
Issue-ID: RIC-153
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I6415effb3283f5961aa0098f1ff0d1380d7aa197
E. Scott Daniels [Thu, 20 Feb 2020 19:43:35 +0000 (14:43 -0500)]
Fix crash under SI95 with multiple receive threads
When the user application was using multiple threads to receive
messages it was alsmost certain to crash with a segfault.
This change corrects a bug in the ring handler which was
allowing a premature release of the ring lock.
A verification cookie has been added to the msg buffer to
facilitate validation of a message buffer when examining
crash output.
Issue-ID: RIC-218
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Iaa6519e415dcf7f8c52312e8e02d8cf4dca5866f
E. Scott Daniels [Wed, 19 Feb 2020 14:47:06 +0000 (09:47 -0500)]
Add message types for E2 setup
Issue-ID: RIC-214
Message types added to the RIC header in rmr.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I38612fd7915090a515da07986df830f3a72bf8e9
E. Scott Daniels [Fri, 14 Feb 2020 14:23:59 +0000 (09:23 -0500)]
Add ability for RMR to request route table
The route table collector has been extended to allow RMR to send
a request to have the route manager deliver a new table. This
change also provides for an ack/nack to be sent back to route
manager to indicate the state of a route table update.
There is also a small wormhole bug fix:
Wormhole send was not clearing the call ID and some message
were being treated as call response on the other side.
Issue-ID: RIC-92
Issue-ID: RIC-91
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I8ffa7919b42412e4604130885b968f32b5448294
E. Scott Daniels [Fri, 14 Feb 2020 14:31:48 +0000 (09:31 -0500)]
Fix SI bug causing core dump sending to closed fd
The SIsendt function was not properly checking the file descriptor
and could core dump when an attempt was made to send on a connection
that was closed.
Issue-ID: RIC-207
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I09b33bf1185aef609bfff058b272e1895eb1a29d
Matti Hiltunen [Thu, 6 Feb 2020 19:16:34 +0000 (19:16 +0000)]
Merge "Cmake, change files missing from previous commit"
E. Scott Daniels [Thu, 6 Feb 2020 18:46:34 +0000 (13:46 -0500)]
Cmake, change files missing from previous commit
The cmake and changes files were accidentally omitted from the
previous commit.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ib6cbe254816305d83acf65207a1682ac6668afab
E. Scott Daniels [Thu, 6 Feb 2020 18:05:25 +0000 (13:05 -0500)]
Fix session discconnect bug in interface to SI95
The disconnect of a session wasn't being properly recorded
and thus was preventing a reconnection attempt on the next
send attempt by the user application.
The warning about dropping messsages when the application cannot
keep up was also changed to be an error so that it is visible
at the default logging level.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ib07e4d0f9bf0d2b6436bb0b49be4ea37455509d3
E. Scott Daniels [Fri, 31 Jan 2020 21:10:34 +0000 (16:10 -0500)]
Ensure route table thread logging can be disabled
The messages written by the route table collector thread are
not affected by the verbose level that the user application
can set. This change allows the complete squelching of the
messages from this thread when all messages are turned off.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Iddea13591f28a96f0cfc4630924a9fc11fadd809
E. Scott Daniels [Tue, 28 Jan 2020 21:50:27 +0000 (16:50 -0500)]
Allow user programme to set RMR verbosity level
This change centralises the writing of messages to the standard
error device which allows the user programme to have control over
the verbosity level. Introduces the new rmr_set_vlevel() function.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I0c4b4b3af94d34b480622ec1f65a9da65cabf2b5
E. Scott Daniels [Fri, 24 Jan 2020 21:00:11 +0000 (16:00 -0500)]
Fix large message bug in SI95 data callback
The receive buffer was not being allocated correctly and in some
cases would cause a segment fault when a large buffer was received.
The fix also includes dropping a message which is larger than the
allocated message. The rmr_init() manual page has been updated to
better define the meaning of the max message length pararmeter which
is passed.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I20eb0d7ed8ba914b380807d9b3142d51d4f9f0b6
E. Scott Daniels [Thu, 23 Jan 2020 21:20:12 +0000 (16:20 -0500)]
Correct bug in SIwait causing excessive CPU use
The select timer in SIwait was not being reset correctly
and after a few loops the timer was set such that the
thread was using 100% of a CPU.
Also eliminated the build poll list from cache as this
turned out to be slower than the original method.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ic606f19aaf522ff7c7146a6fc62c76ec9f8de3a9
E. Scott Daniels [Wed, 22 Jan 2020 17:31:07 +0000 (12:31 -0500)]
Enable multi-thread receiver support
This change implements locking on the receive and free
message rings such that multiple user threads can concurrently
invoke rmr receive functions.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: If012c5699e071f1d85f604c79baf8c4e8b77e94a
E. Scott Daniels [Tue, 21 Jan 2020 18:22:55 +0000 (13:22 -0500)]
Remove bad includes from SI code
Code was referencing NNG headers which breaks when building on a
"clean" environment.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ic9501e8c70a0425b96d18c1c22e29cdd7eef601b
E. Scott Daniels [Tue, 21 Jan 2020 17:23:28 +0000 (12:23 -0500)]
Fix missing realloc function in SI
The realloc payload function was missing in the SI port.
This change also adds the ability to build and run SI95
test applications in the test_app directory. NNG tests
are still run by default (this will be changed eventually).
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ie8a453a009767afcf23eac610dc5f976b880d0aa
E. Scott Daniels [Mon, 20 Jan 2020 15:31:44 +0000 (10:31 -0500)]
Add dynamic route table update to SI95 support
The initial SI95 support did not include dynamic route table
update capabilities. The library will now support the receipt
of route table generator messages via an RMR session over the
RTG service port.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I02e9f72e049152abd9ef516cccb7705eca4aa7bd
E. Scott Daniels [Wed, 13 Nov 2019 14:40:22 +0000 (09:40 -0500)]
Add SI95 transport support
The SI95 transport library provides an alternate transport
layer to NNG. The API presented by RMR on top of SI95
is exactly the same; only a link with rmr_si is needed to
make use of the alternate transport mechanism.
SI95 is NOT compatable with NNG and thus all RMR based
applications which must communicate must use the same
underlying transport library.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I0a971fa0f5de2dbb2fb7a95d5428e709b630f730
E. Scott Daniels [Fri, 3 Jan 2020 15:57:01 +0000 (10:57 -0500)]
Beef up tests to the extended header functions
This change adds some additional application level
tests which tests the copy and clone funcitons by
driving them from complete applications (sender and
receiver).
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I7113d061eada41d394d957079b0e81b3211fc591
E. Scott Daniels [Thu, 2 Jan 2020 17:35:05 +0000 (12:35 -0500)]
Add clarification to rmr_send_msg manual page
The man page for rm_send_msg() did not emphisize the need for
the user programme to use the returned message pointer for
all future references. This change adds the clarification in
the text of the return value and adds a comment to the example
code.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I14c21636eafb7b936ad0ba62b3ae621e6f74c50b
E. Scott Daniels [Mon, 9 Dec 2019 14:05:22 +0000 (09:05 -0500)]
Correct documentation for MEID
The MEID acronym was incorrectly documented as "managed equipment"
and not "manage entity". This change fixes this.
The RTD relase nodes were not being updated from the change log in
the repo root, and thus were not updated on the RTD site. This
change adds the needed Makefile changes to ensure that all generated
docs for RTD are updated and published.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I2e3d741451221211a8abe49b7eca70dd6f935cbb
E. Scott Daniels [Wed, 4 Dec 2019 20:20:16 +0000 (15:20 -0500)]
Allow endpoint selection based on meid in message
This change allows the route table to specify message types which
should route based on the MEID (managed equipment ID) in the message
buffer rather than a round-robin list. The special group entry of
%meid in the routing table causes this, and requires the route
generator to suppy RMR with a map of endpoints which currently
manage each ME.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I6023cc0363222c85b1b7893c573d6e3f65edd221
Tommy Carpenter [Fri, 6 Dec 2019 14:28:10 +0000 (09:28 -0500)]
Release 2.2.0
Change-Id: Iad4bdc3a5126ed430700636d0ef4aabcb4b8b1ac
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Tommy Carpenter [Thu, 5 Dec 2019 15:27:21 +0000 (10:27 -0500)]
Add ability to set xaction deterministically, bug fixes
Change-Id: I0a3aa99f1a793b7f16fe0a5314a2529715690c01
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Tommy Carpenter [Wed, 4 Dec 2019 20:01:01 +0000 (15:01 -0500)]
Release 2.1.0
Change-Id: I769773e40c16000914e2e8111821d7570b57bcd9
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Tommy Carpenter [Wed, 4 Dec 2019 18:26:58 +0000 (13:26 -0500)]
Add new func, update rts
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Change-Id: I2e0830eefe425d268045af6c2e5d1a1231fe8d56
Tommy Carpenter [Wed, 4 Dec 2019 18:28:44 +0000 (13:28 -0500)]
Release 2.0.0
Change-Id: Ibaac2a1cfa6b51a61d64eedbc5b595e9fa0dbd1e
Signed-off-by: Tommy Carpenter <tc677g@att.com>
E. Scott Daniels [Tue, 3 Dec 2019 19:26:03 +0000 (14:26 -0500)]
Fix whitespace issues in readme
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ibd1f37e855e65506c342e356bc9dedbca56567c0
Tommy Carpenter [Mon, 2 Dec 2019 20:04:45 +0000 (15:04 -0500)]
Version bump, release ready when dev-b is merged back.
Change-Id: I43be2ce9535d454e95c9c9a042bfde0a35031eb6
Signed-off-by: Tommy Carpenter <tc677g@att.com>
E. Scott Daniels [Wed, 13 Nov 2019 15:02:37 +0000 (10:02 -0500)]
Add new message types for A1
A small vetting script was also added to help verify that
message types and constant names are not duplicated in the
header file.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ia7577842d94afd413665e84f248f860afa199045
Tommy Carpenter [Mon, 11 Nov 2019 16:06:49 +0000 (16:06 +0000)]
Add subscription id setting/testing
Issue-ID: RICPLT-2630
Change-Id: Ia89ba3af2647b0e41538112cda7715aa4be77a7b
Signed-off-by: Tommy Carpenter <tc677g@att.com>
E. Scott Daniels [Fri, 1 Nov 2019 13:24:08 +0000 (09:24 -0400)]
Prevent message truncation by populate function
An attempt to write a payload to a received message in prep
for returning the response to sender could result in the
response message being truncated if it is longer than the
payload in the received message. The populate and set length
function was modified to ensure that the target message has
a payload length which is not less than the message being
added; if it does the message payload is reallocated through
RMR.
This change requires RMR version 1.10.2 or later.
CP: dev-b
Cherry-Id: I8fa26eaace814344481c2df715c7c2486a38f6df duplicated CID from an abandoned change
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Iaf032cb0b5feb14c714077430e1962107eae8a42
E. Scott Daniels [Thu, 7 Nov 2019 13:41:07 +0000 (08:41 -0500)]
Add mtypes for multiple e2-term instances
New message type constants added to support efforts for multiple
active instances of e2-term.
CP: dev-b
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: If4b3997e0b4c2b8fe2f66cd48d4ed29fc9caa487
Houa Yang [Tue, 3 Dec 2019 21:18:14 +0000 (15:18 -0600)]
Add packagecloud release file
Add packagecloud release file for rmr packages, which trigger
packagecloud verify and merge jobs. Verify checks to see if the
package is in staging repository and merge promotes packages from
staging into release repository.
Issue-Id: RELENG-2130, IT-18339
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I020a84afaa63f3e00d7e1f52d5d69c5e8ae9e612
E. Scott Daniels [Fri, 22 Nov 2019 19:25:40 +0000 (14:25 -0500)]
Bump version to force a package build for release
Bloody release process depends on logs of past jobs which
are not available. This is forcing another, unchanged,
package to be pushed so that a ticket can be opened with a
link to the job output :(
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I6007fb1e347ef083cfebb89dab46cd3525fe15e7
E. Scott Daniels [Thu, 14 Nov 2019 21:03:51 +0000 (16:03 -0500)]
Correct bug in payload reallocation function
When using the rmr_realloc_payload() function with the copy
flag set, it was possible to copy a short length of data,
or none at all. This change corrects the miscomputed length
to copy.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I01a98fa66ab69d5f11a792463bc04b73209f098b
Aric Gardner [Fri, 8 Nov 2019 15:59:41 +0000 (15:59 +0000)]
Automation adds INFO.yaml
Change-Id: If07da6c4d13cfbc4d2382613e1aa644fdaa89fd0
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
E. Scott Daniels [Fri, 8 Nov 2019 13:30:44 +0000 (08:30 -0500)]
Fix table of contents in the RTD generated stuff
The table of contents has been shortened to list only
document names and not a hammering of section titles.
The release notes is the only exception, and they have
been broken out into a second list.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I04fa2af21b78bf4eb28f920c29bb5b1bd8a74d35
E. Scott Daniels [Thu, 7 Nov 2019 20:35:17 +0000 (15:35 -0500)]
Add root level docs control files
Several control files must exist at the repo root, not in
docs, in order to vet and push the documentation out to some
remote site. This changes adds those files, and fixes the
formatting issues that RST vetting is complaining about.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ibeda532f0524d5f5d4d138ece4e9265429fa322b
E. Scott Daniels [Wed, 6 Nov 2019 20:12:38 +0000 (15:12 -0500)]
Documentation changes needed to support RTD
Changes which are necessary to support a docs directory that
is scraped for "read the docs." Changes include:
Tweaks to manual pages to allow them to be combined into a
large "user's guide" (removed the final quit command).
Addition of an rtd subidrectory under source and the needed
.xfm source to generate the various .rst files in the top
level docs (plural).
Moved the top level readme to the main source directory as
it was out of place at the top; created a new top level README.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I708a750e3c58df4d0446eb3a5706c10bf65bed1d
E. Scott Daniels [Mon, 4 Nov 2019 16:00:49 +0000 (11:00 -0500)]
Minor version bump to move forward from trial ver
All changes required to fix bugs during the fall 2019
trial of RIC software will be applied to the previous
version number with only patch level version number changes.
This change advances the minor version number so as to
avoid any artifact naming conflict as the names don't
allow for disambiguation based on branch and/or release.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I8112c215e7508c5500bbb0b255ee141b354ed1d4
E. Scott Daniels [Thu, 31 Oct 2019 13:20:33 +0000 (09:20 -0400)]
Correct inability to extend payload for rts msg
This change allows the application to increase the payload size
of an existing message buffer. This is needed when and application
must use the return to sender (rts) function to send a payload which
is larger than the payload in the received message.
Changes include a new RMR function: rmr_realloc_payload() and
changes to the python wrapper which will resize the payload if
the python application attempts to populate a message buffer which
does not have sufficent size.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ia55c0ff1d5ab3ce73292c00264df7bc16e229d3a
Tommy Carpenter [Thu, 24 Oct 2019 18:14:04 +0000 (14:14 -0400)]
Release 1.0.0:
* It's been past due to bump this to 1.0.0 since people depend on it!
* Add the ability to set sbuf attributes in the same call that it is allocated
* (breaking) removes bytes2meid
* (breaking) rmr_set_meid now infers length
* (breaking) rmr_get_meid now returns bytes, to be symmetric with set_meid
Change-Id: I8519293af6dd30be56c0a7956f31da105c78085d
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Tommy Carpenter [Wed, 23 Oct 2019 11:58:43 +0000 (07:58 -0400)]
Raise an exception on bad buffer allocations
Change-Id: Iddf9d17b9ce2b2b4f6b3fa52d0cfe617dd3a8c13
Signed-off-by: Tommy Carpenter <tc677g@att.com>
Tommy Carpenter [Wed, 23 Oct 2019 00:06:16 +0000 (00:06 +0000)]
Merge "Correct bug in timeout receive"
E. Scott Daniels [Tue, 22 Oct 2019 20:23:36 +0000 (16:23 -0400)]
Correct bug in timeout receive
It was possible for the timeout receive function to return a
nil message buffer pointer, even if the calling function passed
a pointer in for reuse. The exposure was limited only to when
the epoll environment could not be initialised which we believe
has never been observed.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I259a5e5a0a18e53ffb03cc4c47d171e77e998835
Tommy Carpenter [Tue, 22 Oct 2019 13:09:54 +0000 (09:09 -0400)]
Release 0.13.4
Change-Id: I2cc397ca9b55b094958dc39c42cab002e2b646de
Signed-off-by: Tommy Carpenter <tc677g@att.com>
E. Scott Daniels [Mon, 21 Oct 2019 19:58:22 +0000 (15:58 -0400)]
Correct cause of NPE in python wrapper
The message summary funciton was attempting to reference
a payload when RMR left it as a null pointer.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Id1e6da44c9f79d8f69f5266b9bed1f25dd8af0d9
Lott, Christopher (cl778h) [Wed, 16 Oct 2019 12:45:26 +0000 (08:45 -0400)]
Repeat the release process for 0.13.3
Apologies for cluttering up the git history.
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Ie50047e9c72cc64537b5aeadee2c5d4094e35cb2
Lott, Christopher (cl778h) [Mon, 23 Sep 2019 17:36:23 +0000 (13:36 -0400)]
Release version 0.13.3 of rmr-python
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Ide23b0d25ea13ac46e36829262a5e4691ff01706
Tommy Carpenter [Thu, 10 Oct 2019 18:45:41 +0000 (18:45 +0000)]
Merge "Correct summary bug in python wrapper"
E. Scott Daniels [Thu, 10 Oct 2019 17:13:27 +0000 (13:13 -0400)]
Correct summary bug in python wrapper
The summary funciton in the python wrapper could have returned
a value which was not a dict type.
Added unit test to validate the receive all funciton in helpers.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ibed078b2a171fd3f8bd8bec51d4724e735337282
Tommy Carpenter [Mon, 7 Oct 2019 17:20:45 +0000 (17:20 +0000)]
Merge "Add content type for long description for twine"
Matti Hiltunen [Mon, 7 Oct 2019 13:35:22 +0000 (13:35 +0000)]
Merge "Add ability to track send counts for an endpoint"
E. Scott Daniels [Wed, 2 Oct 2019 14:21:24 +0000 (10:21 -0400)]
Add ability to track send counts for an endpoint
Send counts, success, failure and transient failure, are being
collected for each endpoint. The route table collector thread
will write counts to standard error on a periodic basis.
Enabled forced minimum retry.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I3c315d86e6db79cb1404788ef954a0a664084631
Fix context used for RTC epoll
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ie4883e98237eb87b53b24f68bd434edcf533c92f
Fix bug when table received from RTG
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I66dd44ab7cde715d6daf144253ff5a2bd5861ae3
After stress testing and tweaks
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I0e814bf25844c19ab9f9f6c38eca50a1a66db309
Update unit tests and resulting fixes
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ifd780cfaaf924e202407f822551ca3e61c84c63d
Set minimum retry
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I17f1c096106c96d31b919bef6af759b3f4ec72c3
Lott, Christopher (cl778h) [Thu, 3 Oct 2019 15:39:33 +0000 (11:39 -0400)]
Add content type for long description for twine
Extend setup.py with the following to silence twine warning:
long_description_content_type="text/x-rst",
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I831e38f56a42d9ff46da9b1b2aa47eee26e4ecd2
Tommy Carpenter [Wed, 2 Oct 2019 14:52:14 +0000 (10:52 -0400)]
Fix a constant name
Change-Id: I0f8f53b2f8debd68ae74acb732cfe577aa725235
Signed-off-by: Tommy Carpenter <tc677g@att.com>
E. Scott Daniels [Wed, 2 Oct 2019 12:28:58 +0000 (08:28 -0400)]
Correct unit test bug in rmr-python
With RMR 1.8.x connections are forced to be asynch by default to
prevent kubernetes blocking the attempt for minutes. However, the
asynch nature of connections makes unit tests concerned with the
ability to send and receive messages non-deterministic as some
connections are established before the first message is sent, and
others are not.
This change ensures that unit tests establish connections in a
synchronous manner which ensures that the first send will not be
rejected by NNG due to a pending connection.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ic72c48480d68e0aa8ba1bc0110b6222c3707ceaa
E. Scott Daniels [Mon, 30 Sep 2019 17:05:12 +0000 (13:05 -0400)]
Add ability to set debug via CMake (1.9.1)
This change allows the DEBUG flag to be supplied on the CMake command
line, and adds instructions on how to do so in BUILD.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ie5c6185a3016778c7e9c0d51c074c7592c114765
Lott, Christopher (cl778h) [Mon, 30 Sep 2019 14:30:09 +0000 (10:30 -0400)]
Add YAML file with RMR version dependency for CI
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Iad96b8b42bc7e25be86e9bfc8c61f2069e4c3e5b
E. Scott Daniels [Fri, 27 Sep 2019 16:45:31 +0000 (12:45 -0400)]
Add helpers module to python wrapper
The helpers module in the python bindings allows for
extensions and convenience functions. Initially this
contains a "receive all" function that collects all
queued messages and returns an array of message summaries
to the caller.
This change also modifies the expected constants test
such that it includes a check for the MTCALL flag, and
does not fail if RMR produces more constants than
expected and/or needed.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I862edd045c30bc4c81e13664acea6b91c229fb58
E. Scott Daniels [Wed, 25 Sep 2019 17:02:30 +0000 (13:02 -0400)]
Point external nng reference for reconnect fix
Begin using NNG commit
e618abf8f3db2a94269a79c8901a51148d48fcc2
in order to pick up the fix for NNG bug:
#970 TCP connections through docker-proxy do not reconnect
Change-Id: I367ea489ff86519c17a357ff9415a873e14e1f1e
Changes to incorporate new NNG conn shut error
NNG added a connection shut error when the reconnection through
proxy bug was fixed. This change catches the new state and
sets the status in the message accordingly.
Small tweak to application tests to prvent timing issues
when running in jenkins verification environment.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Idaf98feb6c7b5724f1cceab8ba051bb5fccd7a7e
E. Scott Daniels [Wed, 25 Sep 2019 15:06:07 +0000 (11:06 -0400)]
Correct bug in mt call mode receive with timeout
The rmr_torcv_msg() function was improperly interpreting
the timeout setting with a value of 0 was given. The
expected behaviour is to return immediately if no messages
are waiting, but blocking was happening when used in
conjunction with the MT-CALL mode.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Icbbd5705e1d631f3c78dc0c27a392f681dad8737
E. Scott Daniels [Thu, 19 Sep 2019 15:09:40 +0000 (11:09 -0400)]
Add missing constant for wrappers
The RMRFL_MTCALL constant (rmr_init flag) was not being set in
the list of constants made avalable for wrapper scripts.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I6d5329677bd0492711f368e0c9d2f38ccc418e44
E. Scott Daniels [Thu, 19 Sep 2019 12:40:39 +0000 (08:40 -0400)]
Add new message types
Specifically:
RAN_CONNECTED
RAN_RESTARTED
RAN_RECONFIGURED
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I77cc3cf0a33161ee6020537653e837df7bd9b1b1
E. Scott Daniels [Tue, 17 Sep 2019 17:58:33 +0000 (13:58 -0400)]
Change connection mode to asynchronous
The default mode for NNG is to make TCP connections in
a synchronous or blocking manner (opposite of Nanomsg).
This change causes RMR to invoke the NNG connection function
(dialer) with the non-blocking flag set. This will likely
result in soft failures (retries) on message send attempts
until the connection is completed.
The original blocking mode can be enabled by setting the
RMR_ASYNC_CONN environment variable to 0 which will turn
this off and cause connections to block. Absense of the
variable, or setting it to 1, causes asynch mode to be on.
This addresses the issue described in RICPLT-2215.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I4f544d772227b784efd1f7146a18921b91ae7f8e
E. Scott Daniels [Tue, 3 Sep 2019 14:52:41 +0000 (10:52 -0400)]
The change to fix a bug2
Fix return to sender retry bug; add env rts id
change 1: fix rts retry bug
The source IP address was not being restored properly after
a return to sender failure and subsequent retries were being
"reflected" rather than being sent to the message source.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I065e4b6b17896ee0de87e62916f72d2fc3067940
Support env var to define return to sender name
The host name in all environments cannot always be trusted to
be used as the message source from a "return to sender"
point of view. This change allows the RMR_SRC_ID environment
variable to supply the "hostname" that is placed in a message
as the source and thus used when an application needs to
respond to the sender.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: Ie55c3147d6fc423c71315a43d23c88abc7e3c8d2
Tweak unit tests for better coverage
A warning was added if the multi-threaded receive process
drops messages. This tweak ensures it it tested during
unit test.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I380d58177cbc73eb1a10bbc52286922db7ead0b7
Bump version in CMake
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I2d4b19a5cfd1e2c9ecd196b0af2532788414e565
E. Scott Daniels [Fri, 30 Aug 2019 16:58:54 +0000 (12:58 -0400)]
Remove nanomsg support from app test scripts
Nanomsg is no longer supported and this change drops the
attempt to build and test on top of the nanomsg library.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I3e167e28779e27115f2ccd732081ee69771f7f62
E. Scott Daniels [Tue, 27 Aug 2019 14:17:21 +0000 (10:17 -0400)]
Address potential error state after good send
This change addresses the potential to "hide" the good
status of a send in the case where there are multiple
round-robin groups for a message type. The send algorithm
was modified to eliminate the potential edge case and
to report a successful result if the message was accepted
for delivery to at least one group.
Two issues identified by valgrind (use of a potentially
uninitialised variable in a jump) were also corrected.
Intermediate commits:
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Add error tag to msg
Missing ERR on failure message.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Prevent NPE in symtab
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Adjust unit tests, fix valgrind inddicated issues
Unit tests were added to verify the new get rte function.
Valgrind indicated several places where a conditional was
using a potentially uninitialised variable; these were fixed.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I7c0a49713ab3d6fbb8f66e3d286049762433dc58
E. Scott Daniels [Mon, 26 Aug 2019 14:50:52 +0000 (10:50 -0400)]
Add new message types
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I4cafc3c0c84fdc857226cf7da3dda07bb560a3e7
Tommy Carpenter [Fri, 23 Aug 2019 18:24:40 +0000 (14:24 -0400)]
Complete rmr test coverage, restructure get_meid to be correct.
Change-Id: I5d327d58f3059189d357e5c890c016ec3279811b
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
Tommy Carpenter [Thu, 22 Aug 2019 13:34:57 +0000 (09:34 -0400)]
Greatly improve test coverage
Change-Id: Iaddc5fb3a365b34b91c3ae15649b4bb43f7f69a7
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
Lott, Christopher (cl778h) [Tue, 20 Aug 2019 18:35:35 +0000 (14:35 -0400)]
Correct function name to repair infinite recursion
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: Ic92b2943ba953d2d624b42485f55ba3e41aadb51
Matti Hiltunen [Fri, 16 Aug 2019 14:14:28 +0000 (14:14 +0000)]
Merge "Added new message type constants"
E. Scott Daniels [Fri, 16 Aug 2019 12:30:20 +0000 (08:30 -0400)]
Added new message type constants
New message type constants were aded, and the constants were
organised in numerical order for easier visual inspection for
duplications.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: If2c50b5ea51254d418020c5a12aa47404083a54f
Tommy Carpenter [Wed, 14 Aug 2019 15:03:25 +0000 (11:03 -0400)]
Finish sphinx documentation
Issue-ID: RICPLT-1611
Change-Id: I842d5e34f1dbf662bdacc21ff65d06afa793632c
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
Tommy Carpenter [Tue, 13 Aug 2019 20:02:42 +0000 (16:02 -0400)]
Add sphinx documentation generation
This is part 1 of 2 of a change. Part 1 adds a generation process.
Part 2 will make the docstrings more complaint so the generated docs
look nice.
Issue-ID: RICPLT-1611
Change-Id: Ie065affe5a4e2d44182e536f71287b666263de0d
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
E. Scott Daniels [Tue, 13 Aug 2019 15:35:04 +0000 (11:35 -0400)]
Add rmr_get_xact function
The rmr_get_xact function can be used to extract the transaction
information from a message. This is a convenience function.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I303478df3e9558740b2c193c99416c2dfa9b9475
Tommy Carpenter [Tue, 13 Aug 2019 14:53:29 +0000 (10:53 -0400)]
Make the PYPI page for rmr look nicer.
Change-Id: I6d2c42e7e348e25016cb706267b7065446ae3886
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
E. Scott Daniels [Fri, 9 Aug 2019 19:37:48 +0000 (15:37 -0400)]
Add example health check example programmes
The example programs health check, and msg echo illustrate
how a simple RMR based health check application might be
implemented.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I4962db7f65c650c00b2a74e1e3c5e71a27cdedfc
E. Scott Daniels [Tue, 6 Aug 2019 20:29:00 +0000 (16:29 -0400)]
Add user manual source
Template (.im) changes to support the user manual and
the user manual source (new). Readme files were added
to describe current, and future, directory organisation
of the doc portion of the repo.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I5d7e7b59a73e9c06dc139f419086f1b2f6b45bc2
Add user manual source
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I2c072128ad5ceede9d0329aa4a00b4d60ca5d0eb
Add CMake changes for the user manual
Just a version update; user manual not automatically generated
during build.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I33ca9dc275e66f5593e84a452d07f3cea50a8543
E. Scott Daniels [Thu, 8 Aug 2019 14:15:43 +0000 (10:15 -0400)]
Add transport provider status to message buffer
This change adds a new field to the message buffer: tp_status.
The field allows the underlying "errno" value set by the
transport provider to be returned, in addition to the RMR
status, as a part of the overall message. In some environments
wrapper code (bindings) does not hav access to the errno value
and thus was unable to have the additional information on
send and receive failures.
The new field constitutes a backwards compatable change to RMR's
API, however the python wrapper API does not change. Minor version
bump, but the wrapper will see only a patch level bump.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I1b8a863318e2b2515441f7339b41c2856e46c1e4
E. Scott Daniels [Tue, 6 Aug 2019 20:24:20 +0000 (16:24 -0400)]
Correct spelling mistakes
Several spelling errors not corrected before last merge.
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I181a8d34f51005ee3f1fe64b4d685c189f4673de