Hi!

I don't have detailed knowledge about the implementation of any of the services you mention, but I will try to answer as good as I can anyhow. See my comments below, marked AndersW>

regards,

Anders Widell


On 03/21/2018 09:28 PM, Feng Xie wrote:
Hi,

        We are evaluating OpenSAF as an open-source middleware solution. Our 
target environment is a single-node embedded system for now and may be extended 
to a cluster later. Performance of OpenSAF services, especially messages, 
notification and event distribution, is important for us. Can somebody shed 
light on high-level understanding of the communication mechanism in these 
services? More specifically,

   1.  Are OpenSAF daemons involved in every message passing from a sender to receivers? 
Or the daemons only act as "name servers" when setting up the connections 
between senders and receivers.

AndersW> I think the messages always pass through the OpenSAF service daemons, though there could be some exceptions that I am not aware of. CKPT uses shared memory for checkpoint data, so not everything is send in messages.

   2.  It seems that OpenSAF allows both sender and receiver to be in the same 
process while using these services. If so, is the communication still carried 
by TCP/TIPC? Are there any ways to bypass TCP or TIPC, eg., using shared 
memory, to improve the performance?

AndersW> When you configure OpenSAF with TCP transport, it will use UNIX domain sockets for node-local communication. I wouldn't expect it to affect performance very much though, as both TCP and TIPC should perform well for node-local communication. Note that I am talking about the node-local communication between the application process and the OpenSAF daemon here. I don't think there is any short-cut where you can send messages directly from one handle to another within the same application process. CKPT data could be an exception though, as mentioned earlier.

   3.  Are there any benchmark data on any reference/real systems? Is the 
overhead of OpenSAF services a real/valid concern for a single-node environment?

AndersW> I am not aware of any publicly available benchmark data for OpenSAF.

Thanks a lot!

From: Feng Xie
Sent: Wednesday, March 21, 2018 3:31 PM
To: [email protected]; [email protected]; 
[email protected]
Cc: Feng Xie <[email protected]>
Subject: RE: Errors in running OpenSAF message sample

Hi Alex,

        Thanks a lot for the help. I try to run OpenSAF in a single node 
environment.

         It turned out that the failure of message sample program is due to nodes.cfg. Initially, I 
created a two-node configuration with "immxml-clustersize -s 2" with the assumption that 
two controllers are required. After re-creating nodes.cfg with one controller using 
"immxml-clustersize -s 1", the sample program works.

         Although the root cause may be identified, I still don't know the 
reason/mechanism behind the failure. In my opinion, a two-controller 
configuration file should be allowed. The topology may have two controllers but 
my app just uses one.

Feng

From: Alex Jones <[email protected]<mailto:[email protected]>>
Sent: Friday, March 16, 2018 1:52 PM
To: Feng Xie <[email protected]<mailto:[email protected]>>
Cc: 
[email protected]<mailto:[email protected]>
Subject: Re: Opensaf-users Digest, Vol 58, Issue 10

Hi Feng,

     How many nodes are you running? Just 1 controller?

     Look in /var/log/messages for output from msgd and msgnd. These implement 
the MSG subsystem. Maybe there is something wrong with how they started up.

Alex

From: Feng Xie
Sent: Thursday, March 15, 2018 4:25 PM
To: Anders Widell <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>
Cc: Feng Xie <[email protected]<mailto:[email protected]>>
Subject: Errors in running OpenSAF message sample

Hi,

Thanks a lot to Anders' suggestion. After downgrading from Python 3 to Python 
2.7, the errors in running immxml-configure were resolved!

I was able to start OpenSAF related demos and compile sample programs. The 
first OpenSAF sample program I ran is msg_demo under 
~/local/share/opensaf/samples/mqsv. The sample was run in a single-node Ubuntu 
VM. However, I encountered error code 2 from saMsgInitialize. I checked the 
source code in ~/src/msg/agent/mqa_api.cc, it seems that error code 2 maps to 
SA_AIS_ERR_LIBRARY. There are may occurrences of it. I am stuck at this step. 
Any help will be highly appreciated!

In addition, I have two additional questions:

   1.  Is there a timer service provided by OpenSAF?
   2.  How to turn on internal tracing when running OpenSAF sample programs?
     The output from ./amf-state, error messages and opensaf demos are attached 
at the end of the email for reference. Thanks.

Feng



   1.  Error messages when running msg_demo
On one terminal (as a receiver):

~/local/share/opensaf/samples/mqsv$ sudo msg_demo 0

STARTING THE MQSv DEMO
======================
MessageQ Receiver Application
#####################################################################################

DEMO SCENARIO#1: Receiving messages via Sync API - saMsgMessageGet START

Error Initialising saMsgInitialize with error - 2Press Enter Key to Continue...


On the other terminal (as a sender):

~/local/share/opensaf/samples/mqsv$ sudo msg_demo 1

STARTING THE MQSv DEMO
======================
MessageQ Sender Application
##########################################################################

SCENARIO#1:Sending Messages via Sync API - saMsgMessageSend START

Error Initialising saMsgInitialize with error - 2Press Enter Key to Continue...

##########################################################################



   1.  OpenSAF related demos
~/local/share/opensaf/samples/mqsv$ ps -A

........
2697 ?        00:00:00 osafdtmd
   2705 ?        00:00:00 osaftransportd
   2713 ?        00:00:00 osafclmna
   2724 ?        00:00:00 osafrded
   2735 ?        00:00:00 osaffmd
   2747 ?        00:00:00 osafimmd
   2760 ?        00:00:03 osafimmnd
   2777 ?        00:00:00 osaflogd
   2791 ?        00:00:00 osafntfd
   2803 ?        00:00:00 osafclmd
   2815 ?        00:00:00 osafamfd
   2833 ?        00:00:00 osafamfnd
   2853 ?        00:00:00 osafsmfd
   2855 ?        00:00:00 osafsmfnd
   2883 ?        00:00:03 osafmsgnd
   2896 ?        00:00:00 osafmsgd
   2957 ?        00:00:00 osaflckd
   2967 ?        00:00:00 osaflcknd
   2994 ?        00:00:00 osafckptnd
   3002 ?        00:00:01 osafevtd
   3017 ?        00:00:01 osafckptd
   3022 ?        00:00:00 osafamfwd
......


   1.  Output of amf-state

~/local/bin$ ./amf-state

Service Instances UNLOCKED and UNASSIGNED:
    safSi=NoRed2,safApp=OpenSAF

Service Units UNLOCKED and DISABLED:
    safSu=SC-2,safSg=2N,safApp=OpenSAF
    safSu=SC-2,safSg=NoRed,safApp=OpenSAF

Nodes UNLOCKED and DISABLED:
    safAmfNode=SC-2,safAmfCluster=myAmfCluster





From: Anders Widell 
<[email protected]<mailto:[email protected]>>
Sent: Thursday, March 8, 2018 7:20 AM
To: Feng Xie <[email protected]<mailto:[email protected]>>; Dheeroj Ram 
<[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>
Subject: Re: Errors in running immxml-configure with OpenSaf 5.3 in a Ubuntu VM


Just a wild guess: maybe your Linux distribution installs Python version 3 as 
default? We haven't fully converted our Python code to be compatible with 
version 3 yet (it ought to be done, though). Could you run 'python --version' 
to check your default version. If it is version 3, you probably need to install 
version 2 and use it to run the OpenSAF Python code.

OpenSAF supports running in virtual machines.

regards,

Anders Widell
On 03/07/2018 09:59 PM, Feng Xie wrote:
Hi Dheeraj, Gary and Anders,

        Thanks a lot for the quick response! With your help, I was able to solve the 
original issue of locating the share libraries. The current issue I am facing now is with 
immxml-configure, which failed in File "./immxml-merge", line 370, in 
save_result
     self.imm_content_element.toxml(encoding).replace("/>", ">") + "\n"). As a 
result, IMMD can't be started. My debug procedure and detailed error messages are attached at the end for your 
reference. I am stuck at this step. Any help will be highly appreciated!

        Let me provide some background information about my current effort so 
that you can better understand my situation:


   1.  I am trying to use opensaf for core middleware services like messaging 
(IPC), log, timer, etc.. The target environment is a single-node multicore 
(ARM) Linux embedded system. If opensaf works in a single-node environment, we 
may extend to a cluster environment in the future.



   1.  I created a virtual machine using VMWare on a X86 Dell PC with ubuntu 
Linux and installed the latest opensaf tarball (OpenSAF package 
opensaf-5.18.02.tar.gz in a Ubuntu Linux VM (Linux version 4.4.0-116-generic 
(buildd@lgw01-amd64-021) (gcc version 5.4.0 20160609 (Ubuntu 
5.4.0-6ubuntu1~16.04.9));


   1.  As part of proof of concept, my goal is to start opensaf related daemons 
in such single-node VM environment and run several sample programs.


   1.  The installation/configuration procedure I follow is exactly as Anders suggested: 
https://sourceforge.net/p/opensaf/wiki/OpenSAF%20as%20an%20application/. I did not try any extra advanced 
configuration yet. Thus, I have NOT changed nid.conf. The underlying transport is still TCP. The 
OPENSAF_GROUP/USER are still "opensaf". The node_type is "controller" and the node_name 
is "feng-opensaf-2".

        By the way, from the above website, I saw a statement like "Note no sudo or 
virtualization!". Does it mean that OpenSAF can't be run in a VM environment? Thanks 
again for your help!

Feng


P.S.

Procedure and error messages:

fxie@feng-opensaf-2:~/local/share/opensaf/immxml$ sudo ./immxml-configure
error: immxml-merge SC templates failed. Aborting script! exitCode: 1
fxie@feng-opensaf-2:~/local/share/opensaf/immxml$

I was able to locate a log file under /tmp/immxml_configure. LFwfeK:

root@feng-opensaf-2:/tmp/immxml_configure.LFwfeK#<mailto:root@feng-opensaf-2:/tmp/immxml_configure.LFwfeK>
 ls
immxml-configure.log  intermediatefiles  nodes  templatedir
root@feng-opensaf-2:/tmp/immxml_configure.LFwfeK#<mailto:root@feng-opensaf-2:/tmp/immxml_configure.LFwfeK>
 vi immxml-configure.log

/* content from the above log file is highlighted in red below */
encoding in first source xml document: utf-8
Traceback (most recent call last):
   File "./immxml-merge", line 611, in <module>
     main(sys.argv[1:])
   File "./immxml-merge", line 603, in main
     merged_doc.save_result()
   File "./immxml-merge", line 370, in save_result
     self.imm_content_element.toxml(encoding).replace("/>", ">") + "\n")
TypeError: a bytes-like object is required, not 'str'

          I used "immxml-clustersize -s 1" to generate the following nodes.cfg:

SC SC-1 SC-1

and I replaced the third column with "feng-opensaf-2", which I got from "hostname -s". In fact, I 
also tried "immxml-clustersize -s 2" and replaced the third column with "feng-opensaf-2". I got the 
same error.

If I started running opensafd, it would be stuck. Using "journalctl -xe" 
revealed that immd could not be started:


Mar 07 14:57:40 feng-opensaf-2 osafimmd[71940]: WA IMMND coordinator at 7f000001 
apparently crashed => electing new coord
Mar 07 14:57:40 feng-opensaf-2 osafimmd[71940]: ER Failed to find candidate for 
new IMMND coordinator (ScAbsenceAllowed:0 RulingEpoch:1
Mar 07 14:57:40 feng-opensaf-2 osafimmd[71940]: ER Active IMMD has to restart 
the IMMSv. All IMMNDs will restart
Mar 07 14:57:40 feng-opensaf-2 osafimmd[71940]: NO Cluster failed to load => 
IMMDs will not exit.
Mar 07 14:57:40 feng-opensaf-2 osafclmna[71906]: exiting for shutdown
Mar 07 14:57:40 feng-opensaf-2 osaffmd[71928]: exiting for shutdown
Mar 07 14:57:40 feng-opensaf-2 osafimmd[71940]: exiting for shutdown
Mar 07 14:57:41 feng-opensaf-2 osafrded[71917]: exiting for shutdown
Mar 07 14:57:41 feng-opensaf-2 osaftransportd[71899]: exiting for shutdown
Mar 07 14:57:41 feng-opensaf-2 opensafd[72383]: Starting OpenSAF failed

From: Dheeroj Ram 
<[email protected]><mailto:[email protected]>
Sent: Tuesday, March 6, 2018 3:33 AM
To: Feng Xie <[email protected]><mailto:[email protected]>; 
[email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>
Subject: RE: Errors in running OpenSaf 5.3 in a Ubuntu VM




Hi Feng,



Please follow the file "00-README.conf" in the Opensaf source code and 
configure.

Let me know if you find any difficulties.



You can just try by following the below steps:

1- Modify the file /etc/opensaf/nid.conf

      export OPENSAF_MANAGE_TIPC="yes"

      TIPC_ETH_IF=<network interface>

       TIPC_NET_ID=<tipc net_id value> (ex- 1234)

       # The below variables have to be changed to "root"

       # if user has built OpenSAF to run as root

       export OPENSAF_GROUP=root

       export OPENSAF_USER=root

2- edit file "/etc/opensaf/node_name" with node name.

3- edit file "/etc/opensaf/node_type" as controller or Payload.

      How many controllers and payloads in your cluster?

4- cd /usr/share/opensaf/immxml/

       Generate a config file (nodes.cfg) for a 5 node cluster:

   $   ./immxml-clustersize -s 2 -p 3 (for 2 controller and 3 Payloads)



      Edit nodes.cfg



     The third column in nodes.cfg should be edited to match the short form of 
the

     hostname (as shown by 'hostname -s') for each host.

$ ./immxml-configure



Copy the generated imm.xml file to the standard OpenSAF configuration directory.

For eg:

$ cp imm.xml.20100217_2201 /etc/opensaf/imm.xml



Then start opensafd.





~ Dheeraj















-----Original Message-----
From: Feng Xie [mailto:[email protected]]
Sent: 06 March 2018 02:50
To: [email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>
Subject: [users] Errors in running OpenSaf 5.3 in a Ubuntu VM



Hi,



      I am new in using OpenSAF. I encountered an error in running the latest 
OpenSaf software in a Ubuntu Linux VM. I would appreciate if somebody can 
provide some hint on this issue in specific and some references in running 
OpenSAF in general. Thanks a lot in advance!





   1.  Procedures and errors encountered







      *   Download the latest OpenSAF package opensaf-5.18.02.tar.gz in a 
Ubuntu Linux VM (Linux version 4.4.0-116-generic (buildd@lgw01-amd64-021) (gcc 
version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9));







      *   Use "./configure -enable-tipc", "make" and "make install" to install 
the OpenSAF;







      *   Use "/etc/init.d/opensafd start"







      *   Errors (output from "journalctl -xe")





Mar 05 12:46:33 feng-opensaf-2 opensafd[57351]: Starting OpenSAF 
Services(5.18.02 - 2ed303919c3f0f36859028f47caf1498e882f45a) (Using TCP) Mar 05 
12:46:33 feng-opensaf-2 opensafd[57330]: Starting OpenSAF Services (Using 
TCP):/usr/local/lib/opensaf/opensafd: error while loading shared libraries: 
libopensaf_core.so.0: cannot open shared object file: No such file or directory 
Mar 05 12:46:33 feng-opensaf-2 opensafd[57330]:  * Mar 05 12:46:33 
feng-opensaf-2 opensafd[57675]: Starting OpenSAF failed Mar 05 12:46:33 
feng-opensaf-2 systemd[1]: opensafd.service: Control process exited, 
code=exited status=127 Mar 05 12:46:33 feng-opensaf-2 systemd[1]: Failed to 
start OpenSAF daemon.

-- Subject: Unit opensafd.service has failed





   1.  I checked /usr/local/lib and I found libopensaf_core.so.0 by "ls -l 
/usr/local/lib"





-rwxr-xr-x 1 root root      974 Mar  2 16:29 libopensaf_core.la



lrwxrwxrwx 1 root root       24 Mar  2 16:29 libopensaf_core.so -> 
libopensaf_core.so.0.2.0



lrwxrwxrwx 1 root root       24 Mar  2 16:29 libopensaf_core.so.0 -> 
libopensaf_core.so.0.2.0



-rwxr-xr-x 1 root root  2816096 Mar  2 16:29 libopensaf_core.so.0.2.0



............







   1.  Then I modified my $LD_LIBRARY_PATH to include "/usr/local/lib" by adding it to 
the .bashrc file and did "source ./bashrc"



root@opensaf-2:/home/xyz# echo $LD_LIBRARY_PATH /usr/local/lib







   1.  Rerun opensaf by using "/etc/init.d/opensafd start", the same error was 
seen.





Feng

------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most engaging tech 
sites, Slashdot.org! http://sdm.link/slashdot 
_______________________________________________

Opensaf-users mailing list

[email protected]<mailto:[email protected]>

https://lists.sourceforge.net/lists/listinfo/opensaf-users
============================================================================================================================
Disclaimer:  This message and the information contained herein is proprietary 
and confidential and subject to the Tech Mahindra policy statement, you may 
review the policy at http://www.techmahindra.com/Disclaimer.html externally 
http://tim.techmahindra.com/tim/disclaimer.html internally within TechMahindra.
============================================================================================================================

------------------------------------------------------------------------------
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



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

Reply via email to