Ok , I hope this is documented in REAMED .
ACK , tested.
-AVM
On 2/20/2017 4:38 PM, Anders Widell wrote:
> We earlier introduced a new OpenSAF config object with the name
> opensafConfigId=opensafGlobalConfig,safApp=OpenSAF, containing the
> attribute opensafNetworkName. I think the recommendation is to set
> this attribute to the same value as the domain name of the nodes in
> the cluster.
>
> regards,
> Anders Widell
>
> On 02/20/2017 10:56 AM, A V Mahesh wrote:
>> 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