Hi Vu, In case logRootDirectory is /var/log/opensaf/saflog , and it is available , still getting problem.
**************************************************************************************** PL-3:/var/log/opensaf/saflog # /usr/bin/logtest -e 9 Suite 9: LOG Server down / up ; Preparing 8 streams for test. Please wait... Preparing stream 0 ....................... Preparing stream 1 ....................... cur_logfile_name_get scandir Fail No such file or directorysaLogRecov_prepare_client1_8streams Internal error. Test failed 2 FAILED (expected EXIT_SUCCESS, got EXIT_FAILURE (1))PL-3:/var/log/opensaf/saflog # /usr/bin/logtest -e 9 Suite 9: LOG Server down / up ; Preparing 8 streams for test. Please wait... Preparing stream 0 ....................... Preparing stream 1 ....................... cur_logfile_name_get scandir Fail No such file or directorysaLogRecov_prepare_client1_8streams Internal error. Test failed 2 FAILED (expected EXIT_SUCCESS, got EXIT_FAILURE (1))PL-3:/var/log/opensaf/saflog # pwd /var/log/opensaf/saflog PL-3:/var/log/opensaf/saflog # ls PL-3:/var/log/opensaf/saflog # immlist logConfig=1,safApp=safLogService Name Type Value(s) ======================================================================== logStreamSystemLowLimit SA_UINT32_T 0 (0x0) logStreamSystemHighLimit SA_UINT32_T 0 (0x0) logStreamFileFormat SA_STRING_T <Empty> logStreamAppLowLimit SA_UINT32_T 0 (0x0) logStreamAppHighLimit SA_UINT32_T 0 (0x0) logRootDirectory SA_STRING_T /var/log/opensaf/saflog logMaxLogrecsize SA_UINT32_T 1024 (0x400) logMaxApplicationStreams SA_UINT32_T 64 (0x40) logFileSysConfig SA_UINT32_T 1 (0x1) logFileIoTimeout SA_UINT32_T 500 (0x1f4) logDataGroupname SA_STRING_T <Empty> logConfig SA_STRING_T logConfig=1 SaImmAttrImplementerName SA_STRING_T safLogService SaImmAttrClassName SA_STRING_T OpenSafLogConfig SaImmAttrAdminOwnerName SA_STRING_T IMMLOADER **************************************************************************************** -AVM On 8/23/2016 12:50 PM, Vu Minh Nguyen wrote: > Hi Mahesh, > > The folder "/repl_opensaf/saflog/logtest_sc_down_path/" is on UML container. > I guess, on your system, the path is different. > > To get the correct patch to shared log folder, do following: > > 1) Get the log root folder: > # immlist logConfig=1,safApp=safLogService > Name Type Value(s) > ======================================================================== > logRootDirectory SA_STRING_T > /repl_opensaf/saflog > > > 2) On PL, check if the node can access to shared folder: > <logRootDirectory>/logtest_sc_down_path > > > Regards, Vu > >> -----Original Message----- >> From: A V Mahesh [mailto:mahesh.va...@oracle.com] >> Sent: Tuesday, August 23, 2016 1:59 PM >> To: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>; 'Lennart Lund' >> <lennart.l...@ericsson.com> >> Cc: opensaf-devel@lists.sourceforge.net >> Subject: Re: [devel] [PATCH 1 of 1] log: fix failed to recover app streams >> [#1941] >> >> Hi Vu, >> >> This folder doesn't exist , i just created on PL-3 , still failing >> >> PL-3:~ # mkdir -p /repl_opensaf/saflog/logtest_sc_down_path/ >> PL-3:~ # >> >> PL-3:~ # /usr/bin/logtest -e 9 >> >> Suite 9: LOG Server down / up >> ; >> Preparing 8 streams for test. Please wait... >> Preparing stream 0 >> ....................... >> Preparing stream 1 >> ....................... >> cur_logfile_name_get scandir Fail No such file or >> directorysaLogRecov_prepare_client1_8streams Internal error. Test failed >> 2 FAILED (expected EXIT_SUCCESS, got EXIT_FAILURE (1))PL-3:~ # >> >> -AVM >> >> >> On 8/23/2016 12:21 PM, Vu Minh Nguyen wrote: >>> Hi Mahesh, >>> >>> Can you check if PL node can access the shared log folder? >>> >>> E.g: path on UML test >>> /repl_opensaf/saflog/logtest_sc_down_path/ >>> >>> I guess the problem is caused by PL not able to access the SAF log > folder. >>> Regards, Vu >>> >>>> -----Original Message----- >>>> From: A V Mahesh [mailto:mahesh.va...@oracle.com] >>>> Sent: Tuesday, August 23, 2016 1:46 PM >>>> To: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>; Lennart Lund >>>> <lennart.l...@ericsson.com> >>>> Cc: opensaf-devel@lists.sourceforge.net >>>> Subject: Re: [devel] [PATCH 1 of 1] log: fix failed to recover app > streams >>>> [#1941] >>>> >>>> Hi Vu, >>>> >>>> I got it running on SC , but it is failing on PL with : >>>> >>>> "cur_logfile_name_get scandir Fail No such file or >>>> directorysaLogRecov_prepare_client1_8streams Internal error. Test > failed >>>> 2 FAILED (expected EXIT_SUCCESS, got EXIT_FAILURE (1))" >>>> >>>> -AVM >>>> >>>> >>>> On 8/23/2016 12:06 PM, A V Mahesh wrote: >>>>> Hi Vu, >>>>> >>>>> Why test case is allowed on SC`s ? >>>>> >>>>> >> ============================================================== >>>> ============ >>>>> SC-1:~ # /usr/bin/logtest -e 9 >>>>> >>>>> Suite 9: LOG Server down / up >>>>> ; >>>>> Preparing 8 streams for test. Please wait... >>>>> Preparing stream 0 >>>>> ....................... >>>>> Preparing stream 1 >>>>> ....................... >>>>> Preparing stream 2 >>>>> ....................... >>>>> Preparing stream 3 >>>>> .. >>>>> Preparing stream 4 >>>>> .. >>>>> Preparing stream 5 >>>>> . >>>>> Preparing stream 6 >>>>> Preparing stream 7 >>>>> 2 PASSED Before SC down: Prepare 8 streams; >>>>> Preparing 1 config stream (notification) for test . Please wait... >>>>> . >>>>> 3 PASSED Before SC down: Prepare 1 cfg (notif) stream; >>>>> >>>>> Stop both SC nodes [stdby first]. Press Enter when stopped... >>>>> ; >>>>> >>>>> Start at least one SC node. Press Enter when started... >>>>> >>>>> >> ============================================================== >>>> ============ >>>>> -AVM >>>>> >>>>> On 8/23/2016 12:03 PM, A V Mahesh wrote: >>>>>> Hi Vu, >>>>>> >>>>>> test case 9 failing on PL-3 , i am i missing any configuration ? >>>>>> >>>>>> # /usr/bin/logtest -e 9 >>>>>> >>>>>> Suite 9: LOG Server down / up >>>>>> ; >>>>>> Preparing 8 streams for test. Please wait... >>>>>> Preparing stream 0 >>>>>> ....................... >>>>>> Preparing stream 1 >>>>>> ....................... >>>>>> cur_logfile_name_get scandir Fail No such file or >>>>>> directorysaLogRecov_prepare_client1_8streams Internal error. Test >>> failed >>>>>> -AVM >>>>>> >>>>>> On 8/10/2016 12:09 PM, Vu Minh Nguyen wrote: >>>>>>> osaf/services/saf/logsv/lgs/lgs_recov.cc | 59 >>> +++++++++++++++++---- >>>> ---------- >>>>>>> 1 files changed, 32 insertions(+), 27 deletions(-) >>>>>>> >>>>>>> >>>>>>> create_new_app_stream() was changed and introduced new error >> codes >>>> in long DN >>>>>>> ticket. One of them is SA_AIS_ERR_EXIST. >>>>>>> >>>>>>> When SCs restart from headless, create_new_app_stream() returns >>>> SA_AIS_ERR_EXIST >>>>>>> but this error code was not handled correctly and made recovery >>>> functionality >>>>>>> fail. >>>>>>> >>>>>>> lgs_restore_one_app_stream needs to be updated. >>>>>>> >>>>>>> diff --git a/osaf/services/saf/logsv/lgs/lgs_recov.cc >>>> b/osaf/services/saf/logsv/lgs/lgs_recov.cc >>>>>>> --- a/osaf/services/saf/logsv/lgs/lgs_recov.cc >>>>>>> +++ b/osaf/services/saf/logsv/lgs/lgs_recov.cc >>>>>>> @@ -309,24 +309,6 @@ static int lgs_get_file_params_h(gfp_in_ >>>>>>> return rc; >>>>>>> } >>>>>>> >>>>>>> -static void lgs_remove_stream(uint32_t client_id, log_stream_t >>>> *log_stream) >>>>>>> -{ >>>>>>> - TRACE_ENTER(); >>>>>>> - >>>>>>> - /* Remove the stream handle and >>>>>>> - * remove the stream resources >>>>>>> - */ >>>>>>> - if (lgs_client_stream_rmv(client_id, log_stream->streamId) < >>> 0) { >>>>>>> - TRACE("%s lgs_client_stream_rmv Fail", __FUNCTION__); >>>>>>> - } >>>>>>> - >>>>>>> - log_free_stream_resources(log_stream); >>>>>>> - >>>>>>> - log_stream = NULL; >>>>>>> - >>>>>>> - TRACE_LEAVE(); >>>>>>> -} >>>>>>> - >>>>>>> /** >>>>>>> * Restore parameters for a lost runtime (application) stream, >>> create >>>> the >>>>>>> * stream in the local stream list and associate with a client. >>>>>>> @@ -344,7 +326,6 @@ int lgs_restore_one_app_stream( >>>>>>> { >>>>>>> int int_rc = 0; >>>>>>> int rc_out = 0; >>>>>>> - SaAisErrorT ais_rc = SA_AIS_OK; >>>>>>> SaImmHandleT immOmHandle; >>>>>>> SaImmAttrValuesT_2 *attribute; >>>>>>> SaImmAttrValuesT_2 **attributes; >>>>>>> @@ -353,7 +334,7 @@ int lgs_restore_one_app_stream( >>>>>>> int list_pos; >>>>>>> int n; >>>>>>> int i = 0; >>>>>>> - >>>>>>> + SaBoolT twelveHourModeFlag = SA_FALSE; >>>>>>> lgsv_stream_open_req_t open_stream_param; >>>>>>> log_stream_t *log_stream = NULL; >>>>>>> SaTimeT restored_creationTimeStamp = 0; >>>>>>> @@ -552,23 +533,46 @@ int lgs_restore_one_app_stream( >>>>>>> */ >>>>>>> open_stream_param.client_id = client_id; >>>>>>> open_stream_param.lstr_open_flags = 0; /* Dummy not >> used >>> here >>>> */ >>>>>>> - >>>>>>> open_stream_param.logFileName = const_cast<char >>>> *>(fileName.c_str()); >>>>>>> open_stream_param.logFilePathName = const_cast<char >>>> *>(pathName.c_str()); >>>>>>> - ais_rc = create_new_app_stream(&open_stream_param, >>>> &log_stream); >>>>>>> - if ( ais_rc != SA_AIS_OK) { >>>>>>> - TRACE("%s: create_new_app_stream Fail %s", >>>>>>> - __FUNCTION__, saf_error(ais_rc)); >>>>>>> + log_stream = log_stream_new(stream_name, >> STREAM_NEW); >>>>>>> + if (log_stream == NULL) { >>>>>>> rc_out = -1; >>>>>>> goto done_free_attr; >>>>>>> } >>>>>>> >>>>>>> + /** >>>>>>> + * No need to verify all attributes as >>>>>>> + * they have been verified at the time of creation >>>>>>> + */ >>>>>>> + >>>>>>> + /* Get twelveHourModeFlag from the logFileFmt */ >>>>>>> + >> lgs_is_valid_format_expression(open_stream_param.logFileFmt, >>>>>>> + STREAM_TYPE_APPLICATION, >>>>>>> + &twelveHourModeFlag); >>>>>>> + rc_out = lgs_populate_log_stream( >>>>>>> + open_stream_param.logFileName, >>>>>>> + open_stream_param.logFilePathName, >>>>>>> + open_stream_param.maxLogFileSize, >>>>>>> + open_stream_param.maxLogRecordSize, >>>>>>> + open_stream_param.logFileFullAction, >>>>>>> + open_stream_param.maxFilesRotated, >>>>>>> + open_stream_param.logFileFmt, >>>>>>> + STREAM_TYPE_APPLICATION, >>>>>>> + twelveHourModeFlag, >>>>>>> + 0, >>>>>>> + log_stream); // output >>>>>>> + if (rc_out == -1) { >>>>>>> + log_stream_delete(&log_stream); >>>>>>> + goto done_free_attr; >>>>>>> + } >>>>>>> + >>>>>>> /* Create an association between this client and the stream >>> */ >>>>>>> int_rc = lgs_client_stream_add(client_id, >>> log_stream->streamId); >>>>>>> if (int_rc == -1) { >>>>>>> TRACE("%s: lgs_client_stream_add Fail", >>> __FUNCTION__); >>>>>>> - log_free_stream_resources(log_stream); /* Undo > create >>>> new stream */ >>>>>>> + log_stream_delete(&log_stream); >>>>>>> rc_out = -1; >>>>>>> goto done_free_attr; >>>>>>> } >>>>>>> @@ -606,7 +610,8 @@ int lgs_restore_one_app_stream( >>>>>>> /* Remove the stream handle and >>>>>>> * remove the stream resources >>>>>>> */ >>>>>>> - lgs_remove_stream(client_id, log_stream); >>>>>>> + lgs_client_stream_rmv(client_id, log_stream- >>> streamId); >>>>>>> + log_stream_delete(&log_stream); >>>>>>> rc_out = -1; >>>>>>> goto done_free_attr; >>>>>>> } > ---------------------------------------------------------------------------- >>> -- >>>>>> _______________________________________________ >>>>>> 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