Hi Minh/Thang/Nagendra/Paul, I am planning to push the patch by 30th July(thursday). Please kindly find some time to review by 29th July(tomorrow) and send your comments or Ack.
Thanks Anand Sundararaj Senior Solutions Architect | +1 480 686 4772 www.GetHighAvailability.com (https://am2.myprofessionalmail.com/appsuite/www.GetHighAvailability.com) Get High Availability Today! NJ, USA: +1 508-507-6507 > On 07/23/2020 9:38 PM s.an...@gethighavailability.com > <s.an...@gethighavailability.com> wrote: > > > Hi Thang, > Good catch ! > Can you please let me know if you were starting pm monitoring on a component > pid, which is in root or non-root? > > The issue, you are reporting, Thang, may come when Amfnd' (kill) doesn't have > permission to send signal to the pid. > I am assuming that you are getting EPERM as a return. > Can you please verify, Thang(by logging, just like done in mon.cc at "switch > (kill(mon_rec->pid, 0)) {"), if the return is EPERM or something else? > If it is correct, then ideally, the user shouldn't be using pm monitoring on > such pid and that means no change is needed in the patch. > can you please confirm, Thang. > > Thanks > > Anand Sundararaj > Senior Solutions Architect | 480 686 4772 > > > www.GetHighAvailability.com > > Get High Availability Today! > NJ, USA: +1 508-507-6507 > > > On 07/20/2020 9:11 PM Thang Duc Nguyen <thang.d.ngu...@dektech.com.au> > > wrote: > > > > > > I missed one info. I tested with NON_ROOT user. > > export AMFND_NON_ROOT=1 > > > > -----Original Message----- > > From: Thang Duc Nguyen <thang.d.ngu...@dektech.com.au> > > Sent: Tuesday, July 21, 2020 11:02 AM > > To: s.an...@gethighavailability.com; Minh Hon Chau > > <minh.c...@dektech.com.au>; nagen...@gethighavailability.com; > > p...@gethighavailability.com > > Cc: opensaf-devel@lists.sourceforge.net > > Subject: Re: [devel] [PATCH 1/1] amf: remove hard-coding in amfnd [#3205] > > > > Hi Sundararaj, > > > > The Opensaf can start but it may not run correctly. > > I tested your patch. During passive mornitoring process of copoenent, this > > patch cuases the coredump in function avnd_comp_pm_param_val() when > > invoking saAmfPmStop()/saAmfPmStart(). > > > > Snipest code indicate the crash in cpm.cc file void avnd_comp_pm_param_val( > > ) { ... > > if (kill(pm_start->pid, 0) == -1) { > > osafassert(errno == ESRCH); //Crash here due to retured error: > > Operation not permitted > > *o_amf_rc = SA_AIS_ERR_NOT_EXIST; > > return; > > } > > } > > > > B.R/Thang > > -----Original Message----- > > From: s.an...@gethighavailability.com <s.an...@gethighavailability.com> > > Sent: Tuesday, July 21, 2020 9:22 AM > > To: Minh Hon Chau <minh.c...@dektech.com.au>; Thang Duc Nguyen > > <thang.d.ngu...@dektech.com.au>; nagen...@gethighavailability.com; > > p...@gethighavailability.com > > Cc: opensaf-devel@lists.sourceforge.net; Anand Sundararaj > > <s.an...@gethighavailability.com> > > Subject: [PATCH 1/1] amf: remove hard-coding in amfnd [#3205] > > > > From: Anand Sundararaj <s.an...@gethighavailability.com> > > > > --- > > src/amf/amfnd/amfnd.conf | 3 +++ > > src/amf/amfnd/main.cc | 9 ++++++++- > > 2 files changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/src/amf/amfnd/amfnd.conf b/src/amf/amfnd/amfnd.conf index > > 07bc0ba..4e8b07a 100644 > > --- a/src/amf/amfnd/amfnd.conf > > +++ b/src/amf/amfnd/amfnd.conf > > @@ -34,3 +34,6 @@ export AVND_PM_MONITORING_RATE=1000 # It can be disabled > > if set THREAD_TRACE_BUFFER as 0, the maximum value # can be set as 65535. > > # export THREAD_TRACE_BUFFER=10240 > > + > > +#AMFND run as root. Uncomment next line to run as a user mentioned in > > nid.conf. > > +#export AMFND_NON_ROOT=1 > > diff --git a/src/amf/amfnd/main.cc b/src/amf/amfnd/main.cc index > > d7857fa..6d9ee95 100644 > > --- a/src/amf/amfnd/main.cc > > +++ b/src/amf/amfnd/main.cc > > @@ -164,6 +164,7 @@ static void new_handler() { > > > > int main(int argc, char *argv[]) { > > uint32_t error; > > + char *val; > > > > // function to be called if new fails. The alternative of using catch of > > // std::bad_alloc will unwind the stack and thus no call chain will be > > @@ -179,7 +180,13 @@ int main(int argc, char *argv[]) { > > goto done; > > } > > > > - daemonize_as_user("root", argc, argv); > > + if ((val = getenv("AMFND_NON_ROOT")) != nullptr) { > > + daemonize(argc, argv); > > + TRACE("AMFND will run as non-root"); } else { > > + daemonize_as_user("root", argc, argv); > > + TRACE("AMFND will run as root"); > > + } > > > > // Enable long DN > > if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) { > > -- > > 2.7.4 > > > > > > > > _______________________________________________ > > Opensaf-devel mailing list > > Opensaf-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/opensaf-devel > > > _______________________________________________ > Opensaf-devel mailing list > Opensaf-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/opensaf-devel _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel