[sysrepo-devel] Appplication/plugin subscription problem

Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) raszabo at cisco.com
Tue Jul 12 06:25:16 UTC 2016


Hi Fabio,

I’m glad that it helped. The ethernetCsmacd identityref value is defined in iana-if-type.yang – this module must be installed.

Rastislav

From: fabio antonini [mailto:f.antonini at tiesse.com]
Sent: Monday, July 11, 2016 4:55 PM
To: Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) <raszabo at cisco.com>; sysrepo-devel at sysrepo.org
Subject: Re: [sysrepo-devel] Appplication/plugin subscription problem

HI Rastislav
good news
I have removed all the ietf-netconf related modules and now the configuration import process is ok

~ # sysrepocfg --import=/etc/sysrepo/yang/turing-machine.data.xml --datastore=startup --format=xml turing-machine
The new configuration was successfully applied.

~ # sysrepocfg --export --datastore=startup turing-machine
<turing-machine xmlns="http://example.net/turing-machine"<http://example.net/turing-machine>>
  <transition-function>
    <delta>
      <label>left summand</label>
      <input>
        <state>0</state>
        <symbol>1</symbol>
      </input>
    </delta>
    <delta>
      <label>separator</label>
      <output>
        <state>1</state>
        <symbol>1</symbol>
      </output>
      <input>
        <state>0</state>
        <symbol>0</symbol>
      </input>
    </delta>
    <delta>
      <label>right summand</label>
      <input>
        <state>1</state>
        <symbol>1</symbol>
      </input>
    </delta>
    <delta>
      <label>right end</label>
      <output>
        <head-move>left</head-move>
        <state>2</state>
      </output>
      <input>
        <state>1</state>
        <symbol/>
      </input>
    </delta>
    <delta>
      <label>write separator</label>
      <output>
        <head-move>left</head-move>
        <state>3</state>
        <symbol>0</symbol>
      </output>
      <input>
        <state>2</state>
        <symbol>1</symbol>
      </input>
    </delta>
    <delta>
      <label>go home</label>
      <output>
        <head-move>left</head-move>
      </output>
      <input>
        <state>3</state>
        <symbol>1</symbol>
      </input>
    </delta>
    <delta>
      <label>final step</label>
      <output>
        <state>4</state>
      </output>
      <input>
        <state>3</state>
        <symbol/>
      </input>
    </delta>
  </transition-function>
</turing-machine>


Now everything works as a charm for turing-machine!!!!!! I have retrieved all the subtree data for turing-machine from NETCONFc.
Also application_example seems to load successfully

[DBG] (cl_request_process:445) get-items response received, processing.
/turing-machine:turing-machine/transition-function/delta[label='left summand']/label = 'left summand'
/turing-machine:turing-machine/transition-function/delta[label='left summand']/input/state = 0
/turing-machine:turing-machine/transition-function/delta[label='left summand']/input/symbol = '1'
/turing-machine:turing-machine/transition-function/delta[label='left summand']/output/head-move = right
/turing-machine:turing-machine/transition-function/delta[label='separator']/label = 'separator'
/turing-machine:turing-machine/transition-function/delta[label='separator']/output/state = 1
/turing-machine:turing-machine/transition-function/delta[label='separator']/output/symbol = '1'
/turing-machine:turing-machine/transition-function/delta[label='separator']/output/head-move = right
/turing-machine:turing-machine/transition-function/delta[label='separator']/input/state = 0
/turing-machine:turing-machine/transition-function/delta[label='separator']/input/symbol = '0'
/turing-machine:turing-machine/transition-function/delta[label='right summand']/label = 'right summand'
/turing-machine:turing-machine/transition-function/delta[label='right summand']/input/state = 1
/turing-machine:turing-machine/transition-function/delta[label='right summand']/input/symbol = '1'
/turing-machine:turing-machine/transition-function/delta[label='right summand']/output/head-move = right
/turing-machine:turing-machine/transition-function/delta[label='right end']/label = 'right end'
/turing-machine:turing-machine/transition-function/delta[label='right end']/output/head-move = left
/turing-machine:turing-machine/transition-function/delta[label='right end']/output/state = 2
/turing-machine:turing-machine/transition-function/delta[label='right end']/input/state = 1
/turing-machine:turing-machine/transition-function/delta[label='right end']/input/symbol = ''
/turing-machine:turing-machine/transition-function/delta[label='write separator']/label = 'write separator'
/turing-machine:turing-machine/transition-function/delta[label='write separator']/output/head-move = left
/turing-machine:turing-machine/transition-function/delta[label='write separator']/output/state = 3
/turing-machine:turing-machine/transition-function/delta[label='write separator']/output/symbol = '0'
/turing-machine:turing-machine/transition-function/delta[label='write separator']/input/state = 2
/turing-machine:turing-machine/transition-function/delta[label='write separator']/input/symbol = '1'
/turing-machine:turing-machine/transition-function/delta[label='go home']/label = 'go home'
/turing-machine:turing-machine/transition-function/delta[label='go home']/output/head-move = left
/turing-machine:turing-machine/transition-function/delta[label='go home']/input/state = 3
/turing-machine:turing-machine/transition-function/delta[label='go home']/input/symbol = '1'
/turing-machine:turing-machine/transition-function/delta[label='final step']/label = 'final step'
/turing-machine:turing-machine/transition-function/delta[label='final step']/output/state = 4
/turing-machine:turing-machine/transition-function/delta[label='final step']/output/head-move = right
/turing-machine:turing-machine/transition-function/delta[label='final step']/input/state = 3
/turing-machine:turing-machine/transition-function/delta[label='final step']/input/symbol = ''
[INF] (main:306) Sysrepo plugin daemon initialized successfully.

Anyway the subtree get command for ietf-interfaces fails because

netopeer2-server[5933]: (cl_request_process:445) get-items response received, processing.
netopeer2-server[5933]: Failed to resolve identityref "ethernetCsmacd". (/ietf-interfaces:interfaces/interface[name='eth0']/type)
netopeer2-server[5933]: Failed to create node "type" as a child of "interface". (/ietf-interfaces:interfaces/interface[name='eth0']/type)

I'm going to investigate this dependency issue

Thanks a lot for your help!!!!

fabio
On 11/07/2016 16:42, Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) wrote:
Hi Fabio,

Have you also restarted the sysrepo daemon? If not, please do.

As for the questions, no ietf-netconf-* module is needed (you can uninstall them), and correct directories for both yangs and yins is /etc/sysrepo/yang. But you should use sysrepoctl --install instead of just copying the yang/yin modules there.

Thanks,
Rastislav

From: fabio antonini [mailto:f.antonini at tiesse.com]
Sent: Monday, July 11, 2016 4:33 PM
To: Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) <raszabo at cisco.com><mailto:raszabo at cisco.com>; sysrepo-devel at sysrepo.org<mailto:sysrepo-devel at sysrepo.org>
Subject: Re: [sysrepo-devel] Appplication/plugin subscription problem

Hi Rastislav
I have successfully removed the ietf-netconf-monitoring module.
Anyway

~ # sysrepoctl --uninstall --module=ietf-netconf-monitoring
Uninstalling the module 'ietf-netconf-monitoring'.
Deleted the schema file '/etc/sysrepo/yang/ietf-netconf-monitoring at 2010-10-04.yang'.
Operation completed successfully.

Module Name                   | Revision   | Data Owner          | Permissions | Submodules                    | Enabled Features
---------------------------------------------------------------------------------------------------------------------------------
ietf-yang-types               | 2013-07-15 |                     |             |                               |
ietf-netconf-acm              | 2012-02-22 | root:root           | 644         |                               |
ietf-netconf                  | 2011-06-01 |                     |             |                               |
ietf-netconf-with-defaults    | 2011-06-01 |                     |             |                               |
ietf-interfaces               | 2014-05-08 | root:root           | 666         |                               |
tiesse-dhcp-2016-06-25        | 2016-06-25 | root:root           | 644         |                               |
turing-machine                | 2013-12-27 | root:root           | 644         |                               |
ietf-ip                       | 2014-06-16 |                     |             |                               |
tiesse-ethernet-2016-06-25    | 2016-06-25 | root:root           | 644         |                               |

Unfortunately the result is always the same: I have two errors occurrences as described in my previous mail


Which of the previous modules are strictly required to run the turing-machine plugin? At the moment I have copied under /etc/sysrepo/yang many modules but I'm not sure they are really required.
Which of them are required to run netopeer2-server?
Which is the right directory for .yin files (/etc/sysrepo/yin or /etc/sysrepo/yang)?

thanks
best regards
fabio


On 11/07/2016 16:16, Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) wrote:
Hi Fabio,

The issue definitely is in the following:

[DBG] (rp_dt_commit:673) Commit (1/7): process stared
[DBG] (dm_ly_log_cb:653) libyang error: Unknown element "netconf-state".
[DBG] (dm_validate_session_data_trees:1664) Validation failed for turing-machine module
[ERR] (rp_dt_commit:680) Data validation failed

It is strange that libyang complains about "netconf-state" element, it is not part of the turing-machine.data.xml nor turing-machine YANG model. "netconf-state" is part of the ietf-netconf-monitoring YANG module. Do you have it installed in sysrepo repository? (check with sysrepoctl -l). If yes, you can try to uninstall it. It won’t solve the root-cause of the issue, but it may help to work around it. This module does not really need to be installed in sysrepo repository (although Netopeer will probably complain that it is not able to get it from sysrepo).

Thanks,
Rastislav

From: fabio antonini [mailto:f.antonini at tiesse.com]
Sent: Monday, July 11, 2016 3:52 PM
To: Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) <raszabo at cisco.com><mailto:raszabo at cisco.com>; sysrepo-devel at sysrepo.org<mailto:sysrepo-devel at sysrepo.org>
Subject: Re: [sysrepo-devel] Appplication/plugin subscription problem

Hi Rastislav
thanks a lot for your quick reply and precious support.
I have tried to import data by sysrepocfg but it complains in this way (sysrepo-plugind is switched off)

# sysrepocfg --import=/etc/sysrepo/yang/turing-machine.data.xml --datastore=startup --format=xml turing-machine
[ERR] (sr_commit:1113) Error by processing of commit request.
[ERR] (srcfg_import_datastore:667) Error returned from sr_commit: Validation of the changes failed.
Errors were encountered during importing. Cancelling the operation.

The sysrepod output messages are in the attachment
In the file attached I can see a couple of errors about validation for turing-machine

.......
[DBG] (dm_ly_log_cb:653) libyang error: Unexpected character(s) '*' (*//.).
[WRN] (rp_dt_get_values_wrapper_with_opts:314) Validation of xpath /turing-machine:*//. was not successful
.......

[DBG] (dm_ly_log_cb:653) libyang error: Unknown element "netconf-state".
[DBG] (dm_validate_session_data_trees:1664) Validation failed for turing-machine module


I get the same result for ietf-interfaces.data.xml

thanks a lot

fabio
On 11/07/2016 15:31, Rastislav Szabo -X (raszabo - PANTHEON TECHNOLOGIES at Cisco) wrote:
Hi Fabio,

It seems that you just don’t have any data stored within turing-machine module or ietf-interfaces module.

You can import some data there using sysrepocfg. Some example data for both modules is in examples/yang directory:


then you can check imported data:

sysrepocfg --export --datastore=startup turing-machine

Hope this helps,
Rastislav

From: sysrepo-devel [mailto:sysrepo-devel-bounces at sysrepo.org] On Behalf Of fabio antonini
Sent: Monday, July 11, 2016 3:10 PM
To: sysrepo-devel at sysrepo.org<mailto:sysrepo-devel at sysrepo.org>
Subject: [sysrepo-devel] Appplication/plugin subscription problem

Hi all
I'm facing a trivial problem, but I cannot fix it.
I have run sysrepod, then I run sysrepo-plugin that successfully tries to turing-machine.so
here below the extended output

~ # sysrepo-plugind -d -l4
[DBG] (sr_log_stderr:146) Setting log level for stderr logs to 4.
[DBG] (main:282) Sysrepo plugin daemon initialization started.
[DBG] (sr_connect:353) Connecting to Sysrepo Engine.
[DBG] (cl_socket_connect:357) Connecting to socket=/tmp/sysrepod.sock
[INF] (sr_connect:405) Connected to daemon Sysrepo Engine at socket=/tmp/sysrepod.sock
[DBG] (cl_request_process:401) Sending session-start request.
[DBG] (cl_request_process:423) session-start request sent, waiting for response.
[DBG] (cl_request_process:445) session-start response received, processing.
[DBG] (sr_pd_load_plugins:156) Loading plugins from '/etc/sysrepo/plugins'.
[DBG] (sr_pd_load_plugins:170) Loading plugin 'libturing-machine.so'.
[DBG] (cl_sm_init:1252) Client Subscription Manager init started.
[DBG] (cl_sm_event_loop_threaded:1234) Starting client subscription event loop.
[DBG] (cl_sm_init:1302) Client Subscription Manager initialized successfully.
[DBG] (cl_sm_server_init:1131) Initializing sysrepo subscription server at socket=/tmp/sysrepo-subscriptions/turing-machine/4646.XXXXXX.sock
[DBG] (cl_sm_server_ctx_change_cb:1200) Server context changed.
[DBG] (cl_request_process:401) Sending subscribe request.
[DBG] (cl_sm_server_watcher_cb:966) New connection on fd 14
[DBG] (cl_sm_fd_read_data:846) fd 14 readable
[DBG] (cl_sm_conn_buffer_expand:303) Input buffer for fd=14 expanded to 1024 bytes.
[DBG] (cl_sm_fd_read_data:860) 101 bytes of data received on fd 14
[DBG] (cl_sm_fd_read_data:870) fd 14 would block
[DBG] (cl_sm_conn_in_buff_process:796) New message of size 97 bytes received.
[DBG] (cl_sm_notif_process:559) Received a notification for subscription id=449446738 (source address='/tmp/sysrepod.sock').
[DBG] (cl_sm_notif_process:627) HELLO notification received on subscription id=449446738.
[DBG] (cl_request_process:423) subscribe request sent, waiting for response.
[DBG] (cl_request_process:445) subscribe response received, processing.
[DBG] (cl_request_process:401) Sending subscribe request.
[DBG] (cl_sm_fd_read_data:846) fd 14 readable
[DBG] (cl_sm_fd_read_data:860) 101 bytes of data received on fd 14
[DBG] (cl_sm_fd_read_data:870) fd 14 would block
[DBG] (cl_sm_conn_in_buff_process:796) New message of size 97 bytes received.
[DBG] (cl_sm_notif_process:559) Received a notification for subscription id=389404451 (source address='/tmp/sysrepod.sock').
[DBG] (cl_sm_notif_process:627) HELLO notification received on subscription id=389404451.
[DBG] (cl_request_process:423) subscribe request sent, waiting for response.
[DBG] (cl_request_process:445) subscribe response received, processing.
[DBG] (cl_request_process:401) Sending subscribe request.
[DBG] (cl_sm_fd_read_data:846) fd 14 readable
[DBG] (cl_sm_fd_read_data:860) 101 bytes of data received on fd 14
[DBG] (cl_sm_fd_read_data:870) fd 14 would block
[DBG] (cl_sm_conn_in_buff_process:796) New message of size 97 bytes received.
[DBG] (cl_sm_notif_process:559) Received a notification for subscription id=911813965 (source address='/tmp/sysrepod.sock').
[DBG] (cl_sm_notif_process:627) HELLO notification received on subscription id=911813965.
[DBG] (cl_request_process:423) subscribe request sent, waiting for response.
[DBG] (cl_request_process:445) subscribe response received, processing.
turing-machine plugin initialized successfully
current turing-machine configuration:
[DBG] (cl_request_process:401) Sending get-items request.
[DBG] (cl_request_process:423) get-items request sent, waiting for response.
[DBG] (cl_request_process:445) get-items response received, processing.
[ERR] (sr_get_items:756) Error by processing of the request.
[INF] (main:306) Sysrepo plugin daemon initialized successfully.

The plugin seems has been successfully loaded but sr_get_items failed. I cannot see any data retrieved from sysrepod.

I have a similar problem when I run appliaction_example (subscribing ietf-interfaces).

~ # application_example


 ========== READING STARTUP CONFIG: ==========

Error by sr_get_items: Item not found

 ========== STARTUP CONFIG APPLIED AS RUNNING ==========


From sysrepod traces I cannot see any problem. For instance when I run application_example I get the following traces from sysrepod output

[DBG] (cm_server_watcher_cb:1146) New client connection on fd 11
[DBG] (sm_connection_start:354) New connection started successfully, fd=11, conn ctx=0x449cb8.
[DBG] (cm_conn_read_cb:1019) fd 11 readable
[DBG] (cm_conn_buffer_expand:457) Input buffer for fd=11 expanded to 1024 bytes.
[DBG] (cm_conn_read_cb:1032) 18 bytes of data received on fd 11
[DBG] (cm_conn_read_cb:1042) fd 11 would block
[DBG] (cm_conn_in_buff_process:971) New message of size 14 bytes received.
[DBG] (cm_session_start_req_process:630) Processing session_start request (conn=0x449cb8).
[DBG] (cm_session_start_internal:575) Starting a new session, options=0.
[INF] (sm_session_create:468) New session created successfully, real user=root, effective user=(null), session id=1730123485.
[DBG] (sr_cbuff_init:402) Initiating circular buffer for 2 elements.
[DBG] (rp_session_start:1818) RP session start, session id=1730123485.
[DBG] (cm_conn_buffer_expand:457) Output buffer for fd=11 expanded to 1024 bytes.
[DBG] (cm_conn_out_buff_flush:485) Sending 26 bytes of data.
[DBG] (cm_conn_out_buff_flush:491) 26 bytes of data sent.
[DBG] (cm_conn_read_cb:1019) fd 11 readable
[DBG] (cm_conn_read_cb:1032) 42 bytes of data received on fd 11
[DBG] (cm_conn_read_cb:1042) fd 11 would block
[DBG] (cm_conn_in_buff_process:971) New message of size 38 bytes received.
[DBG] (sr_cbuff_enqueue:461) Circular buffer enqueue to position=1, current count=1.
[DBG] (rp_msg_process:1930) Threads: active=0/4, 1 requests in queue
[DBG] (rp_worker_thread_execute:1664) Thread id=2051 signaled.
[DBG] (sr_cbuff_dequeue:477) Circular buffer dequeue, new buffer head=2, count=0.
[DBG] (rp_get_items_req_process:378) Processing get_items request.
[INF] (rp_dt_get_values_wrapper:237) Get items request startup datastore, xpath: /ietf-interfaces:*//*
[WRN] (ac_check_file_access:132) File '/etc/sysrepo/data/ietf-interfaces.startup' cannot be found.
[WRN] (ac_check_module_node_permissions:285) Data file '/etc/sysrepo/data/ietf-interfaces.startup' not found, considering as authorized.
[DBG] (dm_load_data_tree:564) Data file /etc/sysrepo/data/ietf-interfaces.startup does not exist, creating empty data tree
[INF] (dm_load_data_tree_file:525<file://525>) Data file /etc/sysrepo/data/ietf-interfaces.startup loaded successfully
[DBG] (dm_get_data_info:1355) Module ietf-interfaces has been loaded
[DBG] (sr_cbuff_enqueue:461) Circular buffer enqueue to position=5, current count=1.
[DBG] (rp_worker_thread_execute:1652) Thread id=2051 will wait.
[DBG] (cm_msg_enqueue_cb:1488) New message enqueued into CM message queue.
[DBG] (sr_cbuff_dequeue:477) Circular buffer dequeue, new buffer head=6, count=0.
[DBG] (cm_conn_out_buff_flush:485) Sending 21 bytes of data.
[DBG] (cm_conn_out_buff_flush:491) 21 bytes of data sent.
[DBG] (cm_conn_read_cb:1019) fd 11 readable
[DBG] (cm_conn_read_cb:1032) 111 bytes of data received on fd 11
[DBG] (cm_conn_read_cb:1042) fd 11 would block
[DBG] (cm_conn_in_buff_process:971) New message of size 107 bytes received.
[DBG] (sr_cbuff_enqueue:461) Circular buffer enqueue to position=2, current count=1.
[DBG] (rp_msg_process:1930) Threads: active=0/4, 1 requests in queue
[DBG] (rp_worker_thread_execute:1664) Thread id=3076 signaled.
[DBG] (sr_cbuff_dequeue:477) Circular buffer dequeue, new buffer head=3, count=0.
[DBG] (rp_subscribe_req_process:894) Processing subscribe request.
[DBG] (np_notification_subscribe:395) Notification subscribe: event=3, dst_address='/tmp/sysrepo-subscriptions/ietf-interfaces/4738.XXXXXX.sock', dst_id=411581119.
[DBG] (sr_locking_set_lock_fd:734) File /etc/sysrepo/data/ietf-interfaces.persist has been locked
[DBG] (pm_load_data_tree:180) Persist data successfully loaded from file '/etc/sysrepo/data/ietf-interfaces.persist'.
[DBG] (pm_save_data_tree:96) Persist data tree successfully saved.
[DBG] (pm_add_subscription:680) Subscription entry successfully added into 'ietf-interfaces' persist data tree.
[DBG] (sr_locking_set_unlock_close_fd:803) File /etc/sysrepo/data/ietf-interfaces.persist (fd = 12) has been unlocked
[DBG] (sr_cbuff_enqueue:461) Circular buffer enqueue to position=6, current count=1.
[DBG] (np_hello_notify:672) Sending HELLO notification to '/tmp/sysrepo-subscriptions/ietf-interfaces/4738.XXXXXX.sock' @ 411581119.
[DBG] (sr_cbuff_enqueue:461) Circular buffer enqueue to position=7, current count=2.
[DBG] (rp_worker_thread_execute:1652) Thread id=3076 will wait.
[DBG] (cm_msg_enqueue_cb:1488) New message enqueued into CM message queue.
[DBG] (sr_cbuff_dequeue:477) Circular buffer dequeue, new buffer head=7, count=1.
[DBG] (cm_conn_out_buff_flush:485) Sending 21 bytes of data.
[DBG] (cm_conn_out_buff_flush:491) 21 bytes of data sent.
[DBG] (sr_cbuff_dequeue:477) Circular buffer dequeue, new buffer head=8, count=0.
[DBG] (cm_out_notif_process:1290) Sending a notification to '/tmp/sysrepo-subscriptions/ietf-interfaces/4738.XXXXXX.sock'.
[DBG] (sm_connection_find_dst:574) Cannot find the connection with dst_address address='/tmp/sysrepo-subscriptions/ietf-interfaces/4738.XXXXXX.sock'.
[DBG] (cm_out_notif_process:1305) Creating a new connection for the notification destination '/tmp/sysrepo-subscriptions/ietf-interfaces/4738.XXXXXX.sock'
[DBG] (sm_connection_start:354) New connection started successfully, fd=12, conn ctx=0x4597b8.
[DBG] (cm_conn_buffer_expand:457) Output buffer for fd=12 expanded to 1024 bytes.
[DBG] (cm_conn_out_buff_flush:485) Sending 102 bytes of data.
[DBG] (cm_conn_out_buff_flush:491) 102 bytes of data sent.


It sounds as sysrepod replies to the the subscription request but something goes wrong and application_example doesn't receive the current configuration
What can be the problem?
I'm sorry for this silly question but I must have sysrepo/netopeer2 up and running on my target as soon as possible because I have to port my freenetconfd plugins in the new world.
Any help will be greatly appreciated
with regards
fabio





--

Fabio Antonini (Ph.D)

Tiesse Spa

Via Corradini 80, 67051 Avezzano (Aq)

mobile: +39 3939261941

phone: +39 0863455830

fax: +39 0863455830

f.antonini at tiesse.com<mailto:f.antonini at tiesse.com>







--

Fabio Antonini (Ph.D)

Tiesse Spa

Via Corradini 80, 67051 Avezzano (Aq)

mobile: +39 3939261941

phone: +39 0863455830

fax: +39 0863455830

f.antonini at tiesse.com<mailto:f.antonini at tiesse.com>






--

Fabio Antonini (Ph.D)

Tiesse Spa

Via Corradini 80, 67051 Avezzano (Aq)

mobile: +39 3939261941

phone: +39 0863455830

fax: +39 0863455830

f.antonini at tiesse.com<mailto:f.antonini at tiesse.com>





--

Fabio Antonini (Ph.D)

Tiesse Spa

Via Corradini 80, 67051 Avezzano (Aq)

mobile: +39 3939261941

phone: +39 0863455830

fax: +39 0863455830

f.antonini at tiesse.com<mailto:f.antonini at tiesse.com>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sysrepo.org/archives/sysrepo-devel/attachments/20160712/44e0f9ff/attachment.html>


More information about the sysrepo-devel mailing list