Re: [devel] [PATCH 1/1] plmd: enable dynamic tracing [#2796]

2018-03-08 Thread Ravi Sekhar Reddy Konda
Hi Alex,

 

I think that is enough, I am fine  as long as user has option to use the 
routine for debugging

 

Thanks,

Ravi

 

From: Jones, Alex [mailto:ajo...@rbbn.com] 
Sent: Thursday, March 08, 2018 6:00 PM
To: Ravi Sekhar Reddy Konda 
Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1/1] plmd: enable dynamic tracing [#2796]

 

Hi Ravi,

 

  Some of the other subsystems like MSG and LCK have the same issue, and there 
is no private USR2 code in them. I have had good success attaching gdb to the 
process and calling the dump routine from there. Then the user does not have to 
recompile.

 

  Do you feel that is enough?

 

Alex

  _  

From: Ravi Sekhar Reddy Konda mailto:ravisekhar.ko...@oracle.com"ravisekhar.ko...@oracle.com>
Sent: Thursday, March 8, 2018 12:07:14 AM
To: Jones, Alex
Cc: HYPERLINK 
"mailto:opensaf-devel@lists.sourceforge.net"opensaf-devel@lists.sourceforge.net
Subject: RE: [PATCH 1/1] plmd: enable dynamic tracing [#2796] 

 

  _  

NOTICE: This email was received from an EXTERNAL sender

  _  


Hi Alex,

Ack for the patch, but have one comment

I understand using SIGUSR2 for Control Block dumping is not the generic way as 
we are using USR2 signal for dynamically enabling Traces. we added this because 
at times Traces are not enough for debugging and dump routine dumps the 
complete Control Block information, State and handlers which will be very much 
use full in debugging. 

My suggestion is instead of deleting the usr2_sig_handler and Signal initialize 
code, Comment out the code and add a comment saying that if user wants to do 
dump PLM CB for debugging they can uncomment the code

Thanks,
Ravi 
-Original Message-
From: Alex Jones [mailto:ajo...@rbbn.com] 
Sent: Thursday, March 08, 2018 2:09 AM
To: Ravi Sekhar Reddy Konda mailto:ravisekhar.ko...@oracle.com"ravisekhar.ko...@oracle.com>
Cc: HYPERLINK 
"mailto:opensaf-devel@lists.sourceforge.net"opensaf-devel@lists.sourceforge.net;
 Alex Jones mailto:ajo...@rbbn.com"ajo...@rbbn.com>
Subject: [PATCH 1/1] plmd: enable dynamic tracing [#2796]

Dynamic tracing does not work with plmd.

plmd overrides the USR2 signal with its own dump routine.

Remove the signal hander code for USR2 in plmd.
---
src/plm/plmd/plms_main.c | 20 
1 file changed, 20 deletions(-)

diff --git a/src/plm/plmd/plms_main.c b/src/plm/plmd/plms_main.c index 
23b019444..5de1f461e 100644
--- a/src/plm/plmd/plms_main.c
+++ b/src/plm/plmd/plms_main.c
@@ -70,20 +70,6 @@ static void sigusr1_handler(int sig)
ncs_sel_obj_ind(_cb->usr1_sel_obj);
}

-static void usr2_sig_handler(int sig)
-{
- PLMS_CB *cb = plms_cb;
- PLMS_EVT *evt;
- evt = (PLMS_EVT *)malloc(sizeof(PLMS_EVT));
- memset(evt, 0, sizeof(PLMS_EVT));
- evt->req_res = PLMS_REQ;
- evt->req_evt.req_type = PLMS_DUMP_CB_EVT_T;
- (void)sig;
- /* Put it in PLMS's Event Queue */
- m_NCS_IPC_SEND(>mbx, (NCSCONTEXT)evt, NCS_IPC_PRIORITY_HIGH);
- signal(SIGUSR2, usr2_sig_handler);
-}
-
/
* Name : plms_db_init
*
@@ -327,12 +313,6 @@ static uint32_t plms_init()
rc = NCSCC_RC_FAILURE;
goto done;
}
- /* Initialize a signal handler for debugging purpose */
- if ((signal(SIGUSR2, usr2_sig_handler)) == SIG_ERR) {
- LOG_ER("signal USR2 failed: %s", strerror(errno));
- rc = NCSCC_RC_FAILURE;
- goto done;
- }

if (!cb->nid_started && plms_amf_register() != NCSCC_RC_SUCCESS) {
LOG_ER("AMF Initialization failed");
--
2.13.6
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


[devel] [PATCH 1/1] fmd: avoid conflict with split-brain prevention if two nodes are elected [#2801]

2018-03-08 Thread Gary Lee
If we have a 'tied election' and split-brain prevention is enabled,
then the 'old active' is fenced, or the 'old active' will self-reboot
when it is notified a new node is active.

We need to disable this redundant check in fmd. Otherwise, the 'new active'
will also reboot, along with the 'old active'.
---
 src/fm/fmd/fm_main.cc | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/fm/fmd/fm_main.cc b/src/fm/fmd/fm_main.cc
index 1244c2347..73c9b9ccd 100644
--- a/src/fm/fmd/fm_main.cc
+++ b/src/fm/fmd/fm_main.cc
@@ -600,13 +600,18 @@ static void fm_mbx_msg_handler(FM_CB *fm_cb, FM_EVT 
*fm_mbx_evt) {
* progress of shutdown (i.e., amfd/immd is still alive).
*/
   if ((fm_cb->role == PCS_RDA_ACTIVE) && (fm_cb->csi_assigned == false)) {
-LOG_WA(
-"Two active controllers observed in a cluster, newActive: %x and "
-"old-Active: %x",
-unsigned(fm_cb->node_id), unsigned(fm_cb->peer_node_id));
-opensaf_reboot(0, NULL,
-   "Received svc up from peer node (old-active is not "
-   "fully DOWN), hence rebooting the new Active");
+Consensus consensus_service;
+if (consensus_service.IsEnabled() == false) {
+  // If split-brain prevention is enabled, then the 'old active' has
+  // already initiated a self-reboot, or it is fenced.
+  LOG_WA(
+  "Two active controllers observed in a cluster, newActive: %x and 
"
+  "old-Active: %x",
+  unsigned(fm_cb->node_id), unsigned(fm_cb->peer_node_id));
+  opensaf_reboot(0, NULL,
+ "Received svc up from peer node (old-active is not "
+ "fully DOWN), hence rebooting the new Active");
+}
   }
 
   /* Peer fm came up so sending ee_id of this node */
-- 
2.14.1


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


[devel] [PATCH 0/1] Review Request for fmd: avoid conflict with split-brain prevention if two nodes are elected [#2801]

2018-03-08 Thread Gary Lee
Summary: fmd: avoid conflict with split-brain prevention if two nodes are 
elected [#2801]
Review request for Ticket(s): 2801
Peer Reviewer(s): Anders, Hans, Ravi 
Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
Affected branch(es): develop, release
Development branch: ticket-2801
Base revision: 30b70f4a56ab0225d3ade3cc8dda3fe403b5492c
Personal repository: git://git.code.sf.net/u/userid-2226215/review


Impacted area   Impact y/n

 Docsn
 Build systemn
 RPM/packaging   n
 Configuration files n
 Startup scripts n
 SAF servicesn
 OpenSAF servicesy 
 Core libraries  n
 Samples n
 Tests   n
 Other   n


Comments (indicate scope for each "y" above):
-

revision 49325b25b08d47015be2aa892fe5500b50928788
Author: Gary Lee 
Date:   Fri, 9 Mar 2018 16:51:17 +1100

fmd: avoid conflict with split-brain prevention if two nodes are elected [#2801]

If we have a 'tied election' and split-brain prevention is enabled,
then the 'old active' is fenced, or the 'old active' will self-reboot
when it is notified a new node is active.

We need to disable this redundant check in fmd. Otherwise, the 'new active'
will also reboot, along with the 'old active'.



Complete diffstat:
--
 src/fm/fmd/fm_main.cc | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)


Testing Commands:
-
*** LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES ***


Testing, Expected Results:
--
*** PASTE COMMAND OUTPUTS / TEST RESULTS ***


Conditions of Submission:
-
*** HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC ***


Arch  Built StartedLinux distro
---
mipsn  n
mips64  n  n
x86 n  n
x86_64  y  y 
powerpc n  n
powerpc64   n  n


Reviewer Checklist:
---
[Submitters: make sure that your review doesn't trigger any checkmarks!]


Your checkin has not passed review because (see checked entries):

___ Your RR template is generally incomplete; it has too many blank entries
that need proper data filled in.

___ You have failed to nominate the proper persons for review and push.

___ Your patches do not have proper short+long header

___ You have grammar/spelling in your header that is unacceptable.

___ You have exceeded a sensible line length in your headers/comments/text.

___ You have failed to put in a proper Trac Ticket # into your commits.

___ You have incorrectly put/left internal data in your comments/files
(i.e. internal bug tracking tool IDs, product names etc)

___ You have not given any evidence of testing beyond basic build tests.
Demonstrate some level of runtime or other sanity testing.

___ You have ^M present in some of your files. These have to be removed.

___ You have needlessly changed whitespace or added whitespace crimes
like trailing spaces, or spaces before tabs.

___ You have mixed real technical changes with whitespace and other
cosmetic code cleanup changes. These have to be separate commits.

___ You need to refactor your submission into logical chunks; there is
too much content into a single commit.

___ You have extraneous garbage in your review (merge commits etc)

___ You have giant attachments which should never have been sent;
Instead you should place your content in a public tree to be pulled.

___ You have too many commits attached to an e-mail; resend as threaded
commits, or place in a public tree for a pull.

___ You have resent this content multiple times without a clear indication
of what has changed between each re-send.

___ You have failed to adequately and individually address all of the
comments and change requests that were proposed in the initial review.

___ You have a misconfigured ~/.gitconfig file (i.e. user.name, user.email etc)

___ Your computer have a badly configured date and time; confusing the
the threaded patch review.

___ Your changes affect IPC mechanism, and you don't present any results
for in-service upgradability test.

___ Your changes affect user manual and documentation, your patch series
do not contain the patch that updates the Doxygen manual.


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


[devel] [PATCH 0/1] Review Request for rde: avoid SIGPIPE in send functions [#2800]

2018-03-08 Thread Gary Lee
Summary: rde: avoid SIGPIPE in send functions [#2800]
Review request for Ticket(s): 2800
Peer Reviewer(s): AndersW 
Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
Affected branch(es): develop
Development branch: ticket-2800
Base revision: 750f1eaa96159d5ef853764d9b98f9b51fb4434d
Personal repository: git://git.code.sf.net/u/userid-2226215/review


Impacted area   Impact y/n

 Docsn
 Build systemn
 RPM/packaging   n
 Configuration files n
 Startup scripts n
 SAF servicesn
 OpenSAF servicesy 
 Core libraries  n
 Samples n
 Tests   n
 Other   n


Comments (indicate scope for each "y" above):
-

revision e7601d2a04d99ecaa1022880370ead597187647f
Author: Gary Lee 
Date:   Fri, 9 Mar 2018 12:37:01 +1100

rde: avoid SIGPIPE in send functions [#2800]



Complete diffstat:
--
 src/rde/agent/rda_papi.cc | 8 +---
 src/rde/rded/rde_rda.cc   | 8 +---
 2 files changed, 10 insertions(+), 6 deletions(-)


Testing Commands:
-
Run regression testsuite

Testing, Expected Results:
--
Pass

Conditions of Submission:
-
*** HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC ***


Arch  Built StartedLinux distro
---
mipsn  n
mips64  n  n
x86 n  n
x86_64  y  y 
powerpc n  n
powerpc64   n  n


Reviewer Checklist:
---
[Submitters: make sure that your review doesn't trigger any checkmarks!]


Your checkin has not passed review because (see checked entries):

___ Your RR template is generally incomplete; it has too many blank entries
that need proper data filled in.

___ You have failed to nominate the proper persons for review and push.

___ Your patches do not have proper short+long header

___ You have grammar/spelling in your header that is unacceptable.

___ You have exceeded a sensible line length in your headers/comments/text.

___ You have failed to put in a proper Trac Ticket # into your commits.

___ You have incorrectly put/left internal data in your comments/files
(i.e. internal bug tracking tool IDs, product names etc)

___ You have not given any evidence of testing beyond basic build tests.
Demonstrate some level of runtime or other sanity testing.

___ You have ^M present in some of your files. These have to be removed.

___ You have needlessly changed whitespace or added whitespace crimes
like trailing spaces, or spaces before tabs.

___ You have mixed real technical changes with whitespace and other
cosmetic code cleanup changes. These have to be separate commits.

___ You need to refactor your submission into logical chunks; there is
too much content into a single commit.

___ You have extraneous garbage in your review (merge commits etc)

___ You have giant attachments which should never have been sent;
Instead you should place your content in a public tree to be pulled.

___ You have too many commits attached to an e-mail; resend as threaded
commits, or place in a public tree for a pull.

___ You have resent this content multiple times without a clear indication
of what has changed between each re-send.

___ You have failed to adequately and individually address all of the
comments and change requests that were proposed in the initial review.

___ You have a misconfigured ~/.gitconfig file (i.e. user.name, user.email etc)

___ Your computer have a badly configured date and time; confusing the
the threaded patch review.

___ Your changes affect IPC mechanism, and you don't present any results
for in-service upgradability test.

___ Your changes affect user manual and documentation, your patch series
do not contain the patch that updates the Doxygen manual.


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


[devel] [PATCH 1/1] rde: avoid SIGPIPE in send functions [#2800]

2018-03-08 Thread Gary Lee
---
 src/rde/agent/rda_papi.cc | 8 +---
 src/rde/rded/rde_rda.cc   | 8 +---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/rde/agent/rda_papi.cc b/src/rde/agent/rda_papi.cc
index a07d2b06f..57ad57761 100644
--- a/src/rde/agent/rda_papi.cc
+++ b/src/rde/agent/rda_papi.cc
@@ -654,14 +654,16 @@ static PCSRDA_RETURN_CODE rda_callback_req(int sockfd, 
PCS_RDA_ROLE *role) {
 
  */
 static PCSRDA_RETURN_CODE rda_write_msg(int sockfd, char *msg) {
-  int msg_size = 0;
+  const int msg_size = strlen(msg) + 1;
+  int bytes_sent = 0;
 
   /*
** Read from socket into input buffer
*/
 
-  msg_size = send(sockfd, msg, strlen(msg) + 1, 0);
-  if (msg_size < 0) {
+  bytes_sent = send(sockfd, msg, msg_size, MSG_NOSIGNAL);
+  if (bytes_sent < 0 || bytes_sent != msg_size) {
+// @todo handle partial write?
 return PCSRDA_RC_IPC_SEND_FAILED;
   }
 
diff --git a/src/rde/rded/rde_rda.cc b/src/rde/rded/rde_rda.cc
index 04e1c4bfc..ab9f25d77 100644
--- a/src/rde/rded/rde_rda.cc
+++ b/src/rde/rded/rde_rda.cc
@@ -179,11 +179,13 @@ static uint32_t rde_rda_sock_close(RDE_RDA_CB 
*rde_rda_cb) {
  */
 static uint32_t rde_rda_write_msg(int fd, char *msg) {
   int rc = NCSCC_RC_SUCCESS;
-  int msg_size = 0;
+  const int msg_size = strlen(msg) + 1;
+  int bytes_sent = 0;
 
   TRACE_ENTER2("%u - '%s'", fd, msg);
-  msg_size = send(fd, msg, strlen(msg) + 1, 0);
-  if (msg_size < 0) {
+  bytes_sent = send(fd, msg, msg_size, MSG_NOSIGNAL);
+  if (bytes_sent < 0 || bytes_sent != msg_size) {
+// @todo handle partial write?
 if (errno != EINTR && errno != EWOULDBLOCK)
   LOG_ER("send FAILED %s", strerror(errno));
 
-- 
2.14.1


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1/1] pyosaf: refactor IMM samples to use new pyosaf utils [#2681]

2018-03-08 Thread Hans Nordebäck

ack, review only/Thanks HansN


On 03/07/2018 12:43 PM, Danh Vo wrote:

---
  python/samples/caps   |  69 +
  python/samples/caps-inheritance-impl  |  78 ++
  python/samples/imm-listener   | 130 +---
  python/samples/imm-listener-inheritance-impl  | 172 ++
  python/samples/immadm | 161 +++-
  python/samples/immbase.py | 140 ++
  python/samples/immlist|  85 ++-
  python/samples/interface-handler  | 138 ++---
  python/samples/interface-handler-inheritance-impl | 122 +--
  python/samples/ping-pong  |  95 ++--
  python/samples/ping-pong-inheritance-impl | 105 +++--
  python/samples/scale_opensaf  | 111 +-
  python/samples/time-reporter  |  93 +++-
  python/samples/time-reporter-inheritance-impl | 107 +++---
  python/samples/tones  |  54 ---
  python/samples/tones-inheritance-impl |  51 +--
  python/samples/users  |  57 +--
  python/samples/users-inheritance-impl |  60 +---
  18 files changed, 1065 insertions(+), 763 deletions(-)

diff --git a/python/samples/caps b/python/samples/caps
index 494571d..46158b1 100755
--- a/python/samples/caps
+++ b/python/samples/caps
@@ -1,60 +1,77 @@
  #!/usr/bin/env python
-
+
+#
+# (C) Copyright 2015 The OpenSAF Foundation
+# (C) Copyright 2018 Ericsson AB. All rights reserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. This file and program are licensed
+# under the GNU Lesser General Public License Version 2.1, February 1999.
+# The complete license can be accessed from the following location:
+# http://opensource.org/licenses/lgpl-license.php
+# See the Copying file included with the OpenSAF distribution for full
+# licensing terms.
+#
+# Author(s): Ericsson AB
+#
+
+# pylint: disable=unused-argument
+""" Sample illustrates the usage of Implementer """
  import itertools
  import argparse
  
  from pyosaf.saAis import eSaAisErrorT

-
  from pyosaf.utils import SafException
-
  from pyosaf.utils.immoi.implementer import Implementer
  
-caps_class_name = "CapsSample"
  
-def handle_validate(all_instances, updated, created, deleted):

+def handle_validate(instances, updated, created, deleted):
+""" Validates that the rules for upperCaps and lowerCaps are kept """
  
  # Verify that upper and lower caps are correct in created objects

  # and updated objects
-for mo in itertools.chain(created, updated):
-
+for obj in itertools.chain(created, updated):
  # Verify upper caps
-if mo.upperCaps and not mo.upperCaps.isupper():
+if obj.upperCaps and not obj.upperCaps.isupper():
  err_str = "ERROR: %s.upperCaps must be upper case (was %s)" % \
-(mo.dn, mo.upperCaps)
+(obj.dn, obj.upperCaps)
  raise SafException(eSaAisErrorT.SA_AIS_ERR_INVALID_PARAM, err_str)
  
  # Verify lower caps

-if mo.lowerCaps and not mo.lowerCaps.islower():
+if obj.lowerCaps and not obj.lowerCaps.islower():
  err_str = "ERROR: %s.lowerCaps must be lower case (was %s)" % \
-  (mo.dn, mo.lowerCaps)
+  (obj.dn, obj.lowerCaps)
  raise SafException(eSaAisErrorT.SA_AIS_ERR_INVALID_PARAM, err_str)
  
  
  if __name__ == "__main__":

-
  # Parse command line arguments
-parser = argparse.ArgumentParser(
-description='''Validates that the lowerCaps and upperCaps attributes
-of instances of the CapsSample class can only contain
-lower case and upper case text respectively.
+description = """
+Validates that the lowerCaps and upperCaps attributes
+of instances of the CapsSample class can only contain
+lower case and upper case text respectively.
+
+Use like this:
  
-Use like this:

-$ caps &
+$ caps &
  
-$ immcfg -c CapsSample capsId=

+$ immcfg -c CapsSample capsId=
  
-$ immcfg -a upperCaps=ABC capsId=  (allowed)

+$ immcfg -a upperCaps=ABC capsId=  (allowed)
  
-$ immcfg -a lowerCaps=Abc capsId=  (not allowed)

-''', formatter_class=argparse.RawTextHelpFormatter)
+$ immcfg -a lowerCaps=Abc capsId=  (not allowed)
+"""
+parser = argparse.ArgumentParser(
+description=description,
+formatter_class=argparse.RawTextHelpFormatter)
  
  parser.parse_args()
  
  # Create the 

Re: [devel] [PATCH 1/1] dtm: change trace config var name to _PATHNAME [#2792]

2018-03-08 Thread Anders Widell
Ack. Note that you ought to send the document as an E-mail attachment 
along with the review request, and then update it with review comments 
(if any) before pushing it.


regards,

Anders Widell


On 03/05/2018 11:14 AM, Srinivas Mangipudy wrote:

Hi Vu,

I updated OpenSAF_IMMsv_PR.odt and the document is at:
https://sourceforge.net/p/opensaf/documentation/ci/default/tree/OpenSAF_IMMSv_PR.odt

Can you please review.

Thank you
Srinivas




-Original Message-
From: Vu Minh Nguyen [mailto:vu.m.ngu...@dektech.com.au]
Sent: Thursday, March 1, 2018 1:30 PM
To: srinivas ; anders.wid...@ericsson.com
Cc: opensaf-devel@lists.sourceforge.net
Subject: RE: [PATCH 1/1] dtm: change trace config var name to _PATHNAME [#2792]

Ack with a  minor comment, with [Vu].

Regards, Vu


-Original Message-
From: srinivas [mailto:srinivas.mangip...@oracle.com]
Sent: Thursday, March 1, 2018 2:31 PM
To: anders.wid...@ericsson.com; vu.m.ngu...@dektech.com.au
Cc: opensaf-devel@lists.sourceforge.net; srinivas

Subject: [PATCH 1/1] dtm: change trace config var name to _PATHNAME
[#2792]

---
  src/imm/README  | 9 ++---
  src/imm/immloadd/imm_loader.cc  | 2 +-
  src/imm/immnd/immnd.conf| 2 +-
  src/imm/immpbed/immpbe.cc   | 2 +-
  src/imm/tools/imm_dumper.cc | 2 +-
  src/ntf/README  | 7 +--
  src/ntf/ntfd/ntfd.conf  | 2 +-
  src/ntf/ntfimcnd/ntfimcn_main.c | 2 +-
  8 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/imm/README b/src/imm/README index ee5f8e8..750d811
100644
--- a/src/imm/README
+++ b/src/imm/README
@@ -3206,12 +3206,12 @@ in immd.conf/immnd.conf and restart the cluster.

  Errors, warnings and notice level messages are logged to the syslog.

-To enable traces in the IMM library, export the variable
IMMA_TRACE_FILENAME
+To enable traces in the IMM library, export the variable
IMMA_TRACE_PATHNAME
  with a valid pathname before starting the application using the IMM

library.
[Vu] It may be good information for user to state here fixed location of trace 
file as you already did for NTF README as below.
+Traces are always stored in $PKGLOGDIR directory and the directory
component
+of the path name (if any) is ignored.

In OpenSAF_IMMsv_PR.odt
(https://urldefense.proofpoint.com/v2/url?u=https-3A__sourceforge.net_p_opensaf_documentation_ci_default_tree_OpenSAF-5FIMM=DwICAg=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE=rU6x356sikQZSi7Ttc2DuiqAgbc0QIeANg72N5AllVc=JgHty7D6Tv9zeykUciK5bglWJyc6T9fA5EnNFw1Mm7Q=A7QbkwCI_4xr19yJ5_fLor10DmmuVrubaAkDIvQF2yc=
Sv_PR.odt),
There is a statement regarding agent trace, I guess we should consider to 
update it too, chapter 3.6.2 Configuration:
" Tracing of he IMMA library is possible by defining the environment variable 
IMMA_TRACE_PATHNAME. The variable should have a legal file path and the trace will be 
appended to the file identified by that path"


  For example:

-$ export IMMA_TRACE_FILENAME=imm.trace
+$ export IMMA_TRACE_PATHNAME=imm.trace
  $ ./immomtest
  $ cat $pkglogdir/imm.trace

@@ -3220,8 +3220,11 @@ It is also possible to trace slave processes
forked by the IMMND.
  This would be processes for loading, sync and dump/pbe.
  To enable such trace uncomment:

-#export IMMSV_TRACE_FILENAME=osafimmnd
+#export IMMSV_TRACE_PATHNAME=osafimmnd

+It is recommended to use osaflog command as it takes care of flushing
+unwritten trace messages from memory to disk, as well as
+concatenating the pieces that may have resulted from log rotation of the trace 
stream.

  TEST

diff --git a/src/imm/immloadd/imm_loader.cc
b/src/imm/immloadd/imm_loader.cc index 13fb417..de5a575 100644
--- a/src/imm/immloadd/imm_loader.cc
+++ b/src/imm/immloadd/imm_loader.cc
@@ -2507,7 +2507,7 @@ int main(int argc, char *argv[]) {
  exit(1);
}

-  if ((logPath = getenv("IMMSV_TRACE_FILENAME"))) {
+  if ((logPath = getenv("IMMSV_TRACE_PATHNAME"))) {
  category_mask = 0x; /* TODO: set using env variable ? */
} else {
  logPath = defaultLog;
diff --git a/src/imm/immnd/immnd.conf b/src/imm/immnd/immnd.conf index
9172677..b6a4823 100644
--- a/src/imm/immnd/immnd.conf
+++ b/src/imm/immnd/immnd.conf
@@ -12,7 +12,7 @@
  # they attach as IMMA clients. These processes will also route trace
to

the

  # IMMND trace-file as define here. Traces are always stored in
$PKGLOGDIR  # directory and the directory component of the path name
(if any) is

ignored.

-#export IMMSV_TRACE_FILENAME=osafimmnd
+#export IMMSV_TRACE_PATHNAME=osafimmnd

  # The directory where the imm.xml files and persistend backend files
are  # stored. Imm dump files may also be stored here or in a subdirectory.
diff --git a/src/imm/immpbed/immpbe.cc b/src/imm/immpbed/immpbe.cc
index 6e9b933..964086f 100644
--- a/src/imm/immpbed/immpbe.cc
+++ b/src/imm/immpbed/immpbe.cc
@@ -118,7 +118,7 @@ int main(int argc, char* argv[]) {
const SaImmAdminOperationParamsT_2* params[] = {NULL};
 

Re: [devel] [PATCH 1/1] dtm: change trace config var name to _PATHNAME [#2792]

2018-03-08 Thread Anders Widell

Ack.

regards,

Anders Widell


On 03/01/2018 08:30 AM, srinivas wrote:

---
  src/imm/README  | 9 ++---
  src/imm/immloadd/imm_loader.cc  | 2 +-
  src/imm/immnd/immnd.conf| 2 +-
  src/imm/immpbed/immpbe.cc   | 2 +-
  src/imm/tools/imm_dumper.cc | 2 +-
  src/ntf/README  | 7 +--
  src/ntf/ntfd/ntfd.conf  | 2 +-
  src/ntf/ntfimcnd/ntfimcn_main.c | 2 +-
  8 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/imm/README b/src/imm/README
index ee5f8e8..750d811 100644
--- a/src/imm/README
+++ b/src/imm/README
@@ -3206,12 +3206,12 @@ in immd.conf/immnd.conf and restart the cluster.
  
  Errors, warnings and notice level messages are logged to the syslog.
  
-To enable traces in the IMM library, export the variable IMMA_TRACE_FILENAME

+To enable traces in the IMM library, export the variable IMMA_TRACE_PATHNAME
  with a valid pathname before starting the application using the IMM library.
  
  For example:
  
-$ export IMMA_TRACE_FILENAME=imm.trace

+$ export IMMA_TRACE_PATHNAME=imm.trace
  $ ./immomtest
  $ cat $pkglogdir/imm.trace
  
@@ -3220,8 +3220,11 @@ It is also possible to trace slave processes forked by the IMMND.

  This would be processes for loading, sync and dump/pbe.
  To enable such trace uncomment:
  
-#export IMMSV_TRACE_FILENAME=osafimmnd

+#export IMMSV_TRACE_PATHNAME=osafimmnd
  
+It is recommended to use osaflog command as it takes care of flushing

+unwritten trace messages from memory to disk, as well as concatenating
+the pieces that may have resulted from log rotation of the trace stream.
  
  TEST
  
diff --git a/src/imm/immloadd/imm_loader.cc b/src/imm/immloadd/imm_loader.cc

index 13fb417..de5a575 100644
--- a/src/imm/immloadd/imm_loader.cc
+++ b/src/imm/immloadd/imm_loader.cc
@@ -2507,7 +2507,7 @@ int main(int argc, char *argv[]) {
  exit(1);
}
  
-  if ((logPath = getenv("IMMSV_TRACE_FILENAME"))) {

+  if ((logPath = getenv("IMMSV_TRACE_PATHNAME"))) {
  category_mask = 0x; /* TODO: set using env variable ? */
} else {
  logPath = defaultLog;
diff --git a/src/imm/immnd/immnd.conf b/src/imm/immnd/immnd.conf
index 9172677..b6a4823 100644
--- a/src/imm/immnd/immnd.conf
+++ b/src/imm/immnd/immnd.conf
@@ -12,7 +12,7 @@
  # they attach as IMMA clients. These processes will also route trace to the
  # IMMND trace-file as define here. Traces are always stored in $PKGLOGDIR
  # directory and the directory component of the path name (if any) is ignored.
-#export IMMSV_TRACE_FILENAME=osafimmnd
+#export IMMSV_TRACE_PATHNAME=osafimmnd
  
  # The directory where the imm.xml files and persistend backend files are

  # stored. Imm dump files may also be stored here or in a subdirectory.
diff --git a/src/imm/immpbed/immpbe.cc b/src/imm/immpbed/immpbe.cc
index 6e9b933..964086f 100644
--- a/src/imm/immpbed/immpbe.cc
+++ b/src/imm/immpbed/immpbe.cc
@@ -118,7 +118,7 @@ int main(int argc, char* argv[]) {
const SaImmAdminOperationParamsT_2* params[] = {NULL};
SaImmAdminOperationParamsT_2** retParams = NULL;
  
-  if ((logPath = getenv("IMMSV_TRACE_FILENAME"))) {

+  if ((logPath = getenv("IMMSV_TRACE_PATHNAME"))) {
  category_mask = 0x; /* TODO: set using -t flag ? */
} else {
  logPath = defaultLog;
diff --git a/src/imm/tools/imm_dumper.cc b/src/imm/tools/imm_dumper.cc
index 5e5dd00..0365fc7 100644
--- a/src/imm/tools/imm_dumper.cc
+++ b/src/imm/tools/imm_dumper.cc
@@ -123,7 +123,7 @@ int main(int argc, char* argv[]) {
 * osaf_extended_name_* before saImmOmInitialize and saImmOiInitialize */
osaf_extended_name_init();
  
-  if ((logPath = getenv("IMMSV_TRACE_FILENAME"))) {

+  if ((logPath = getenv("IMMSV_TRACE_PATHNAME"))) {
  category_mask = 0x; /* TODO: set using -t flag ? */
} else {
  logPath = defaultLog;
diff --git a/src/ntf/README b/src/ntf/README
index ce78b10..6dd5173 100644
--- a/src/ntf/README
+++ b/src/ntf/README
@@ -260,17 +260,20 @@ in ntfd.conf (see CONFIGURATION above) and restart the 
cluster.
  
  For fatal errors syslog is used.
  
-To enable traces in the NTF library, export the variable NTFSV_TRACE_FILENAME

+To enable traces in the NTF library, export the variable NTFSV_TRACE_PATHNAME
  with a valid filename before starting the application using the NTF library.
  Traces are always stored in $PKGLOGDIR directory and the directory component
  of the path name (if any) is ignored.
  
  For example:
  
-$ export NTFSV_TRACE_FILENAME=ntf.trace

+$ export NTFSV_TRACE_PATHNAME=ntf.trace
  $ ntfsend
  $ cat $pkglogdir/ntf.trace
  
+It is recommended to use osaflog command as it takes care of flushing

+unwritten trace messages from memory to disk, as well as concatenating
+the pieces that may have resulted from log rotation of the trace stream.
  
  TEST
  
diff --git a/src/ntf/ntfd/ntfd.conf b/src/ntf/ntfd/ntfd.conf

index 07d90d5..56bb3d3 100644
--- a/src/ntf/ntfd/ntfd.conf
+++ b/src/ntf/ntfd/ntfd.conf
@@ -22,4 +22,4 @@ export 

Re: [devel] [PATCH 1/1] plmd: enable dynamic tracing [#2796]

2018-03-08 Thread Jones, Alex
Hi Ravi,


  Some of the other subsystems like MSG and LCK have the same issue, and there 
is no private USR2 code in them. I have had good success attaching gdb to the 
process and calling the dump routine from there. Then the user does not have to 
recompile.


  Do you feel that is enough?


Alex


From: Ravi Sekhar Reddy Konda 
Sent: Thursday, March 8, 2018 12:07:14 AM
To: Jones, Alex
Cc: opensaf-devel@lists.sourceforge.net
Subject: RE: [PATCH 1/1] plmd: enable dynamic tracing [#2796]


NOTICE: This email was received from an EXTERNAL sender


Hi Alex,

Ack for the patch, but have one comment

I understand using SIGUSR2 for Control Block dumping is not the generic way as 
we are using USR2 signal for dynamically enabling Traces. we added this because 
at times Traces are not enough for debugging and dump routine dumps the 
complete Control Block information, State and handlers which will be very much 
use full in debugging.

My suggestion is instead of deleting the usr2_sig_handler and Signal initialize 
code, Comment out the code and add a comment saying that if user wants to do 
dump PLM CB for debugging they can uncomment the code

Thanks,
Ravi
-Original Message-
From: Alex Jones [mailto:ajo...@rbbn.com]
Sent: Thursday, March 08, 2018 2:09 AM
To: Ravi Sekhar Reddy Konda 
Cc: opensaf-devel@lists.sourceforge.net; Alex Jones 
Subject: [PATCH 1/1] plmd: enable dynamic tracing [#2796]

Dynamic tracing does not work with plmd.

plmd overrides the USR2 signal with its own dump routine.

Remove the signal hander code for USR2 in plmd.
---
src/plm/plmd/plms_main.c | 20 
1 file changed, 20 deletions(-)

diff --git a/src/plm/plmd/plms_main.c b/src/plm/plmd/plms_main.c index 
23b019444..5de1f461e 100644
--- a/src/plm/plmd/plms_main.c
+++ b/src/plm/plmd/plms_main.c
@@ -70,20 +70,6 @@ static void sigusr1_handler(int sig)
ncs_sel_obj_ind(_cb->usr1_sel_obj);
}

-static void usr2_sig_handler(int sig)
-{
- PLMS_CB *cb = plms_cb;
- PLMS_EVT *evt;
- evt = (PLMS_EVT *)malloc(sizeof(PLMS_EVT));
- memset(evt, 0, sizeof(PLMS_EVT));
- evt->req_res = PLMS_REQ;
- evt->req_evt.req_type = PLMS_DUMP_CB_EVT_T;
- (void)sig;
- /* Put it in PLMS's Event Queue */
- m_NCS_IPC_SEND(>mbx, (NCSCONTEXT)evt, NCS_IPC_PRIORITY_HIGH);
- signal(SIGUSR2, usr2_sig_handler);
-}
-
/
* Name : plms_db_init
*
@@ -327,12 +313,6 @@ static uint32_t plms_init()
rc = NCSCC_RC_FAILURE;
goto done;
}
- /* Initialize a signal handler for debugging purpose */
- if ((signal(SIGUSR2, usr2_sig_handler)) == SIG_ERR) {
- LOG_ER("signal USR2 failed: %s", strerror(errno));
- rc = NCSCC_RC_FAILURE;
- goto done;
- }

if (!cb->nid_started && plms_amf_register() != NCSCC_RC_SUCCESS) {
LOG_ER("AMF Initialization failed");
--
2.13.6
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1/1] log: IMM OI BAD HANDLE incorrectly propagated to log client [#2799]

2018-03-08 Thread Canh Van Truong
Hi Lennart,

 

Please see my comments [Canh] in line

 

 

Thanks 

Canh

 

-Original Message-

From: Lennart Lund [mailto:lennart.l...@ericsson.com] 

Sent: Wednesday, March 7, 2018 10:39 PM

To: canh.v.tru...@dektech.com.au; vu.m.ngu...@dektech.com.au

Cc: opensaf-devel@lists.sourceforge.net; Lennart Lund


Subject: [PATCH 1/1] log: IMM OI BAD HANDLE incorrectly propagated to log
client [#2799]

 

Fix incorrect check of bad OI handle in log server event handler

procdure for open an application stream.

---

src/log/logd/lgs_evt.cc| 17 +++--

src/log/logd/lgs_imm.cc|  2 ++

src/log/logd/lgs_mbcsv.cc  |  2 +-

src/log/logd/lgs_stream.cc | 24 +---

src/log/logd/lgs_stream.h  |  2 +-

5 files changed, 20 insertions(+), 27 deletions(-)

 

diff --git a/src/log/logd/lgs_evt.cc b/src/log/logd/lgs_evt.cc

index b8840b436..785e3cf66 100644

--- a/src/log/logd/lgs_evt.cc

+++ b/src/log/logd/lgs_evt.cc

@@ -956,7 +956,7 @@ SaAisErrorT create_new_app_stream(lgsv_stream_open_req_t
*open_sync_param,

 goto done;

   }

-  rc = lgs_create_rt_appstream(*o_stream);

+  rc = lgs_create_appstream_rt_object(*o_stream);

   if (rc != SA_AIS_OK) log_stream_delete(o_stream);

 done:

@@ -1070,15 +1070,7 @@ static uint32_t proc_stream_open_msg(lgs_cb_t *cb,
lgsv_lgs_evt_t *evt) {

   }

 }

   } else {

-/* Stream does not exist */

-

-// This check is to avoid the client getting SA_AIS_BAD_OPERATION

-// as there is no IMM OI implementer set.

-if (cb->immOiHandle == 0) {

-  TRACE("IMM service unavailable, open stream failed");

-  ais_rv = SA_AIS_ERR_TRY_AGAIN;

-  goto snd_rsp;

-}

+/* Stream does not exist. Create a new stream */

 /*

  * Check if the stream is in the list of stream objects

@@ -1126,6 +1118,11 @@ static uint32_t proc_stream_open_msg(lgs_cb_t *cb,
lgsv_lgs_evt_t *evt) {

 if (ais_rv != SA_AIS_OK) {

   TRACE("%s create_new_app_stream Fail \"%s\"", __FUNCTION__,

 saf_error(ais_rv));

+  if (ais_rv == SA_AIS_ERR_BAD_HANDLE) {

+// This means that the stream RT object could not be created
because

+// of a bad OI handle. Change to TRY AGAIN in the reply to the
agent

+ais_rv = SA_AIS_ERR_TRY_AGAIN;

 

[Canh] The BAD_HANDLE return from imm may happen forever when user continue
to create runtime object, because there is no reinitialization of io handle.
In main function, there is no imm event so log service cannot call
saImmOiDispatch() to know if IO_handle is invalid (BAD_HANDLE). and the
function lgs_imm_impl_reinit_nonblocking() is not called.

 

+  }

   goto snd_rsp;

 }

   }

diff --git a/src/log/logd/lgs_imm.cc b/src/log/logd/lgs_imm.cc

index 314568133..08cb6502f 100644

--- a/src/log/logd/lgs_imm.cc

+++ b/src/log/logd/lgs_imm.cc

@@ -3225,6 +3225,7 @@ static void *imm_impl_init_thread(void *_cb) {

   SaAisErrorT rc = SA_AIS_OK;

   TRACE_ENTER();

+  LOG_NO("%s: OI Reinit thread start", __FUNCTION__);

   /* Initialize handles and become implementer */

   lgs_imm_init_OI_handle(, );

@@ -3261,6 +3262,7 @@ static void *imm_impl_init_thread(void *_cb) {

 free(lgsv_evt);

   }

+  LOG_NO("%s: Reinit thread exit", __FUNCTION__);

   TRACE_LEAVE();

   return NULL;

}

diff --git a/src/log/logd/lgs_mbcsv.cc b/src/log/logd/lgs_mbcsv.cc

index 175858b6f..47668d8d8 100644

--- a/src/log/logd/lgs_mbcsv.cc

+++ b/src/log/logd/lgs_mbcsv.cc

@@ -2092,7 +2092,7 @@ uint32_t ckpt_proc_open_stream(lgs_cb_t *cb, void
*data) {

   goto done;

 }

-rc = lgs_create_rt_appstream(stream);

+rc = lgs_create_appstream_rt_object(stream);

 if (rc != SA_AIS_OK) {

   log_stream_delete();

   goto done;

diff --git a/src/log/logd/lgs_stream.cc b/src/log/logd/lgs_stream.cc

index 65689d658..8ee3a9c9f 100644

--- a/src/log/logd/lgs_stream.cc

+++ b/src/log/logd/lgs_stream.cc

@@ -520,7 +520,7 @@ int lgs_populate_log_stream(

  * @param stream runtimem app stream

  * @return SaAisErrorT

  */

-SaAisErrorT lgs_create_rt_appstream(log_stream_t *const stream) {

+SaAisErrorT lgs_create_appstream_rt_object(log_stream_t *const stream) {

   SaAisErrorT rc = SA_AIS_OK;

   TRACE_ENTER2("%s, l: %zu", stream->name.c_str(), stream->name.size());

@@ -622,20 +622,14 @@ SaAisErrorT lgs_create_rt_appstream(log_stream_t
*const stream) {

 _saLogStreamCreationTimestamp,

 NULL};

-{

-  /**

-   * Have to have retry for Rt creation.

-   * Rt update could consider removing retry to avoid blocking

-   */

-  rc = immutil_saImmOiRtObjectCreate_2(

-  lgs_cb->immOiHandle, const_cast("SaLogStream"),

-  parentName, attrValues);

-  free(dndup);

-

-  if (rc != SA_AIS_OK) {

-LOG_WA("saImmOiRtObjectCreate_2 returned %u for %s, parent %s", rc,

-   stream->name.c_str(), parent_name);

-  }

+rc = 

Re: [devel] [PATCH 0/1] Review Request for msgd: during cold sync don't add tracking entries which already exist [#2793]

2018-03-08 Thread Srinivas Mangipudy
Hi Alex,

Ack from my side, code review only.

Thank you
Srinivas


-Original Message-
From: Alex Jones [mailto:ajo...@rbbn.com] 
Sent: Wednesday, March 7, 2018 5:46 AM
To: Srinivas Mangipudy 
Cc: opensaf-devel@lists.sourceforge.net; Alex Jones 
Subject: [PATCH 0/1] Review Request for msgd: during cold sync don't add 
tracking entries which already exist [#2793]

Summary: msgd: during cold sync don't add tracking entries which already exist 
[#2793] Review request for Ticket(s): 2793 Peer Reviewer(s): Srinivas Pull 
request to: 
Affected branch(es): develop
Development branch: ticket-2793
Base revision: 5d0175a756c4d7fe47dc8b815725332ca7ca4291
Personal repository: git://git.code.sf.net/u/trguitar/review


Impacted area   Impact y/n

 Docsn
 Build systemn
 RPM/packaging   n
 Configuration files n
 Startup scripts n
 SAF servicesy
 OpenSAF servicesn
 Core libraries  n
 Samples n
 Tests   n
 Other   n


Comments (indicate scope for each "y" above):
-

revision 916b838764c03891c5e35b18626d89aadbb5caf6
Author: Alex Jones 
Date:   Tue, 6 Mar 2018 18:48:49 -0500

msgd: during cold sync don't add tracking entries which already exist [#2793]

Opening of an existing msg q using saMsgQueueOpen (for q failover) may take a 
long time.

When cold sync is done, sometimes two MDS cold sync requests are sent by the 
standby, so the standby can receive 2 cold syncs. The standby code to process 
the cold sync response blindly adds the tracking entries for message queue 
groups. If two cold syncs are done, the tracking list can have duplicate 
entries. When controllers are rebooted back and forth, this list can get large 
(1000s of entries), and if another cluster node is rebooted and a q needs to 
move from there, 1000s of duplicate tracking messages are sent by msgd, which 
slows down the failover, and saMsgQueueOpen can take a long time.

Fix is to not blindly add tracking entries during cold sync, but only add them 
if they are not already there.



Complete diffstat:
--
 src/msg/msgd/mqd_mbcsv.c | 17 +++--
 1 file changed, 3 insertions(+), 14 deletions(-)


Testing Commands:
-
1) create a msg q group
2) create 4 msg qs on different nodes and add them to the group
3) send some messages to the group (to enable tracking)
4) open another message q on a different node
5) reboot the controllers back and forth about 20 or 30 times
6) reboot the node with the message q from (4)
7) open the msg q on another node


Testing, Expected Results:
--
1) step 7 should not take seconds
2) there should not be 1000s of entries in syslog saying "unable to send
   "tracking message"

Conditions of Submission:
-
Mar 12 or ack from developer


Arch  Built StartedLinux distro
---
mipsn  n
mips64  n  n
x86 n  n
x86_64  y  y
powerpc n  n
powerpc64   n  n


Reviewer Checklist:
---
[Submitters: make sure that your review doesn't trigger any checkmarks!]


Your checkin has not passed review because (see checked entries):

___ Your RR template is generally incomplete; it has too many blank entries
that need proper data filled in.

___ You have failed to nominate the proper persons for review and push.

___ Your patches do not have proper short+long header

___ You have grammar/spelling in your header that is unacceptable.

___ You have exceeded a sensible line length in your headers/comments/text.

___ You have failed to put in a proper Trac Ticket # into your commits.

___ You have incorrectly put/left internal data in your comments/files
(i.e. internal bug tracking tool IDs, product names etc)

___ You have not given any evidence of testing beyond basic build tests.
Demonstrate some level of runtime or other sanity testing.

___ You have ^M present in some of your files. These have to be removed.

___ You have needlessly changed whitespace or added whitespace crimes
like trailing spaces, or spaces before tabs.

___ You have mixed real technical changes with whitespace and other
cosmetic code cleanup changes. These have to be separate commits.

___ You need to refactor your submission into logical chunks; there is
too much content into a single commit.

___ You have extraneous garbage in your review (merge commits etc)

___ You have giant attachments which should never have been sent;
Instead you should place your content in a public tree to be pulled.

___ You have too many commits attached to an e-mail; resend as threaded
commits, or place in a public tree for a pull.

___ You 

Re: [devel] [PATCH 0/1] Review Request for log: IMM OI BAD HANDLE incorrectly propagated to log client [#2799]

2018-03-08 Thread Vu Minh Nguyen
Ack. 

Thanks, Vu

> -Original Message-
> From: Lennart Lund [mailto:lennart.l...@ericsson.com]
> Sent: Wednesday, March 7, 2018 10:39 PM
> To: canh.v.tru...@dektech.com.au; vu.m.ngu...@dektech.com.au
> Cc: opensaf-devel@lists.sourceforge.net; Lennart Lund
> 
> Subject: [PATCH 0/1] Review Request for log: IMM OI BAD HANDLE incorrectly
> propagated to log client [#2799]
> 
> Summary: log: IMM OI BAD HANDLE incorrectly propagated to log client
> [#2799]
> Review request for Ticket(s): 2799
> Peer Reviewer(s): vu.m.ngu...@dektech.com.au,
> canh.v.tru...@dektech.com.au
> Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
> Affected branch(es): develop
> Development branch: ticket-2799
> Base revision: 3587648509bf14d692852d0ce4882377bc0831b5
> Personal repository: git://git.code.sf.net/u/elunlen/review
> 
> 
> Impacted area   Impact y/n
> 
>  Docsn
>  Build systemn
>  RPM/packaging   n
>  Configuration files n
>  Startup scripts n
>  SAF servicesy
>  OpenSAF servicesn
>  Core libraries  n
>  Samples n
>  Tests   n
>  Other   n
> 
> 
> Comments (indicate scope for each "y" above):
> -
> *** EXPLAIN/COMMENT THE PATCH SERIES HERE ***
> 
> revision c145b63aaa5a05312c28948b94eb26cca3dceef8
> Author:   Lennart Lund 
> Date: Wed, 7 Mar 2018 15:14:45 +0100
> 
> log: IMM OI BAD HANDLE incorrectly propagated to log client [#2799]
> 
> Fix incorrect check of bad OI handle in log server event handler
> procdure for open an application stream.
> 
> 
> 
> Complete diffstat:
> --
>  src/log/logd/lgs_evt.cc| 17 +++--
>  src/log/logd/lgs_imm.cc|  2 ++
>  src/log/logd/lgs_mbcsv.cc  |  2 +-
>  src/log/logd/lgs_stream.cc | 24 +---
>  src/log/logd/lgs_stream.h  |  2 +-
>  5 files changed, 20 insertions(+), 27 deletions(-)
> 
> 
> Testing Commands:
> -
> *** LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES ***
> 
> 
> Testing, Expected Results:
> --
> *** PASTE COMMAND OUTPUTS / TEST RESULTS ***
> 
> 
> Conditions of Submission:
> -
> *** HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC ***
> 
> 
> Arch  Built StartedLinux distro
> ---
> mipsn  n
> mips64  n  n
> x86 n  n
> x86_64  n  n
> powerpc n  n
> powerpc64   n  n
> 
> 
> Reviewer Checklist:
> ---
> [Submitters: make sure that your review doesn't trigger any checkmarks!]
> 
> 
> Your checkin has not passed review because (see checked entries):
> 
> ___ Your RR template is generally incomplete; it has too many blank
entries
> that need proper data filled in.
> 
> ___ You have failed to nominate the proper persons for review and push.
> 
> ___ Your patches do not have proper short+long header
> 
> ___ You have grammar/spelling in your header that is unacceptable.
> 
> ___ You have exceeded a sensible line length in your
headers/comments/text.
> 
> ___ You have failed to put in a proper Trac Ticket # into your commits.
> 
> ___ You have incorrectly put/left internal data in your comments/files
> (i.e. internal bug tracking tool IDs, product names etc)
> 
> ___ You have not given any evidence of testing beyond basic build tests.
> Demonstrate some level of runtime or other sanity testing.
> 
> ___ You have ^M present in some of your files. These have to be removed.
> 
> ___ You have needlessly changed whitespace or added whitespace crimes
> like trailing spaces, or spaces before tabs.
> 
> ___ You have mixed real technical changes with whitespace and other
> cosmetic code cleanup changes. These have to be separate commits.
> 
> ___ You need to refactor your submission into logical chunks; there is
> too much content into a single commit.
> 
> ___ You have extraneous garbage in your review (merge commits etc)
> 
> ___ You have giant attachments which should never have been sent;
> Instead you should place your content in a public tree to be pulled.
> 
> ___ You have too many commits attached to an e-mail; resend as threaded
> commits, or place in a public tree for a pull.
> 
> ___ You have resent this content multiple times without a clear indication
> of what has changed between each re-send.
> 
> ___ You have failed to adequately and individually address all of the
> comments and change requests that were proposed in the initial review.
> 
> ___ You have a misconfigured ~/.gitconfig file (i.e. user.name, user.email
etc)
> 
> ___ Your computer have a badly configured date and time; confusing the
> the threaded patch review.
> 
> ___ Your changes affect IPC