Hi Anders Widell,

On 2/20/2017 2:25 PM, Anders Widell wrote:
> Yes, the HOSTNAME field of the log record should contain the fully 
> qualified domain name (i.e. the host name followed by the domain 
> name). See Section 6.2.4 in RFC 5424 where the HOSTNAME field is 
> described.
>
> I agree that it could be confusing if the host name and the node name 
> differ, but ideally they should not. The host name is what you see in 
> other situations as well, for example you often put the host name in 
> the shell prompt that you see when you log in to the node via SSH. I 
> would anyhow recommend to configure host name and node name with the 
> same value.

Then Opensaf Should force `domain name` should be same as  Opensaf IMM 
configured  CLM Name  while starting Opensaf .

-AVM

>
> regards,
>
> Anders Widell
>
> On 02/20/2017 07:17 AM, A V Mahesh wrote:
>> Hi Anders Widell,
>>
>> I see an issue with the way the MW Node name presented  in MDS log 
>> with this patch , I did configured CLM/AMF name
>> as below ( NON SC_1 & SC-2 )  , but the mds log is considering linux 
>> name , either we have to use  CLM name or AMF name in MDS log
>>
>> =================================================================================================
>>  
>>
>>
>> # cat /usr/share/opensaf/immxml/nodes.cfg
>> SC fm1 PL-0
>> SC fm2 PL-1
>> PL PL-3 PL-3
>> PL PL-4 PL-4
>>
>> # cat /etc/opensaf/node_name
>> PL-0
>>
>> # cat /etc/opensaf/node_name
>> PL-1
>>
>> #  /etc/init.d/opensafd status
>> safSISU=safSu=fm1\,safSg=NoRed\,safApp=OpenSAF,safSi=NoRed1,safApp=OpenSAF 
>>
>>         saAmfSISUHAState=ACTIVE(1)
>> safSISU=safSu=fm2\,safSg=NoRed\,safApp=OpenSAF,safSi=NoRed2,safApp=OpenSAF 
>>
>>         saAmfSISUHAState=ACTIVE(1)
>> safSISU=safSu=fm1\,safSg=2N\,safApp=OpenSAF,safSi=SC-2N,safApp=OpenSAF
>>         saAmfSISUHAState=ACTIVE(1)
>> safSISU=safSu=fm2\,safSg=2N\,safApp=OpenSAF,safSi=SC-2N,safApp=OpenSAF
>>         saAmfSISUHAState=STANDBY(2)
>>
>>
>> <141>1 2017-02-20T11:38:14.881123+05:30 SC-1 osafclmna 26474 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>> <141>1 2017-02-20T11:38:14.954587+05:30 SC-1 osafrded 26483 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>> <141>1 2017-02-20T11:38:15.029386+05:30 SC-1 osaffmd 26492 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>> <141>1 2017-02-20T11:38:15.099421+05:30 SC-1 osafimmd 26502 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>>
>> <141>1 2017-02-20T11:38:30.60291+05:30 SC-2 osafclmna 6196 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>> <141>1 2017-02-20T11:38:30.667317+05:30 SC-2 osafrded 6205 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>> <141>1 2017-02-20T11:38:30.739622+05:30 SC-2 osaffmd 6214 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>> <141>1 2017-02-20T11:38:30.807048+05:30 SC-2 osafimmd 6224 mds.log 
>> [meta sequenceId="1"] BEGIN MDS LOGGING| ARCHW=a|64bit=1
>>
>> =================================================================================================
>>  
>>
>>
>> -AVM
>>
>>
>> On 2/17/2017 3:03 PM, Anders Widell wrote:
>>>   src/mds/mds_log.cc |  39 ++++++++++++++++++---------------------
>>>   1 files changed, 18 insertions(+), 21 deletions(-)
>>>
>>>
>>> The HOSTNAME field of the log messages should contain the FQDN of the
>>> originator. Use the newly introduced Conf class in the base 
>>> component to read
>>> the FQDN.
>>>
>>> diff --git a/src/mds/mds_log.cc b/src/mds/mds_log.cc
>>> --- a/src/mds/mds_log.cc
>>> +++ b/src/mds/mds_log.cc
>>> @@ -1,6 +1,7 @@
>>>   /*      -*- OpenSAF  -*-
>>>    *
>>>    * (C) Copyright 2008 The OpenSAF Foundation
>>> + * Copyright Ericsson AB 2017 - 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
>>> @@ -32,6 +33,7 @@
>>>   #include <cstring>
>>>   #include <string>
>>>   #include "base/buffer.h"
>>> +#include "base/conf.h"
>>>   #include "base/log_message.h"
>>>   #include "base/macros.h"
>>>   #include "base/mutex.h"
>>> @@ -50,17 +52,18 @@ class MdsLog {
>>>                     va_list ap);
>>>      private:
>>> -  MdsLog(const char* host_name, const char* app_name,
>>> -            uint32_t proc_id, const char* socket_name);
>>> +  MdsLog(const std::string& fqdn, const char* app_name,
>>> +         uint32_t proc_id, const char* socket_name);
>>>     void LogInternal(base::LogMessage::Severity severity, const char 
>>> *fmt,
>>>                      va_list ap);
>>>     static constexpr const uint32_t kMaxSequenceId = 
>>> uint32_t{0x7fffffff};
>>>     static MdsLog* instance_;
>>> -  const base::LogMessage::HostName host_name_;
>>> +  const base::LogMessage::HostName fqdn_;
>>>     const base::LogMessage::AppName app_name_;
>>>     const base::LogMessage::ProcId proc_id_;
>>>     uint32_t sequence_id_;
>>>     base::UnixClientSocket log_socket_;
>>> +  base::Buffer<512> buffer_;
>>>     base::Mutex mutex_;
>>>       DELETE_COPY_AND_MOVE_OPERATORS(MdsLog);
>>> @@ -69,13 +72,14 @@ class MdsLog {
>>>   int gl_mds_log_level = 3;
>>>   MdsLog* MdsLog::instance_ = nullptr;
>>>   -MdsLog::MdsLog(const char* host_name, const char* app_name,
>>> -                     uint32_t proc_id, const char* socket_name) :
>>> -    host_name_{base::LogMessage::HostName{host_name}},
>>> +MdsLog::MdsLog(const std::string& fqdn, const char* app_name,
>>> +               uint32_t proc_id, const char* socket_name) :
>>> +    fqdn_{base::LogMessage::HostName{fqdn}},
>>>       app_name_{base::LogMessage::AppName{app_name}},
>>> proc_id_{base::LogMessage::ProcId{std::to_string(proc_id)}},
>>>       sequence_id_{1},
>>>       log_socket_{socket_name},
>>> +    buffer_{},
>>>       mutex_{} {
>>>   }
>>>   @@ -86,12 +90,10 @@ MdsLog::MdsLog(const char* host_name, co
>>>   bool MdsLog::Init() {
>>>     if (instance_ != nullptr) return false;
>>>     char app_name[MDS_MAX_PROCESS_NAME_LEN];
>>> -  char node_name[256];
>>>     char pid_path[1024];
>>>     uint32_t process_id = getpid();
>>>     char *token, *saveptr;
>>>     char *pid_name = nullptr;
>>> -  const char *node_name_file = PKGSYSCONFDIR "/node_name";
>>>       snprintf(pid_path, sizeof(pid_path), "/proc/%" PRIu32 
>>> "/cmdline", process_id);
>>>     FILE* f = fopen(pid_path, "r");
>>> @@ -114,14 +116,9 @@ bool MdsLog::Init() {
>>>     if (snprintf(app_name, sizeof(app_name), "%s", pid_name) < 0) {
>>>       app_name[0] = '\0';
>>>     }
>>> -  FILE* fp = fopen(node_name_file, "r");
>>> -  if (fp != nullptr) {
>>> -    if (fscanf(fp, "%255s", node_name) != 1) node_name[0] = '\0';
>>> -    fclose(fp);
>>> -  } else {
>>> -    node_name[0] = '\0';
>>> -  }
>>> -  instance_ = new MdsLog{node_name, app_name, process_id,
>>> +  base::Conf::InitFullyQualifiedDomainName();
>>> +  const std::string& fqdn = base::Conf::FullyQualifiedDomainName();
>>> +  instance_ = new MdsLog{fqdn, app_name, process_id,
>>>                            PKGLOCALSTATEDIR "/mds_log.sock"};
>>>     return instance_ != nullptr;
>>>   }
>>> @@ -136,22 +133,22 @@ void MdsLog::LogInternal(base::LogMessag
>>>     base::Lock lock(mutex_);
>>>     uint32_t id = sequence_id_;
>>>     sequence_id_ = id < kMaxSequenceId ? id + 1 : 1;
>>> -  base::Buffer<256> buffer;
>>> +  buffer_.clear();
>>> base::LogMessage::Write(base::LogMessage::Facility::kLocal1,
>>>                             severity,
>>>                             base::ReadRealtimeClock(),
>>> -                          host_name_,
>>> +                          fqdn_,
>>>                             app_name_,
>>>                             proc_id_,
>>> -                          base::LogMessage::MsgId{""},
>>> +                          base::LogMessage::MsgId{"mds.log"},
>>> {{base::LogMessage::SdName{"meta"},
>>>                                 {base::LogMessage::Parameter{
>>> base::LogMessage::SdName{"sequenceId"},
>>> std::to_string(id)}}}},
>>>                             fmt,
>>>                             ap,
>>> -                          &buffer);
>>> -  log_socket_.Send(buffer.data(), buffer.size());
>>> +                          &buffer_);
>>> +  log_socket_.Send(buffer_.data(), buffer_.size());
>>>   }
>>> /*******************************************************************************
>>>  
>>>
>>
>


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to