Difference between revisions of "Honeycomb/Releases/1609/Running Honeycomb"

From fd.io
Jump to: navigation, search
(Using RESTCONF northbound)
(Using RESTCONF northbound)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This page contains basic instructions required when trying to run and test Honeycomb agent. Before proceeding, check [[Honeycomb/Setting_Up_Your_Dev_Environment]] to get more information about setting up required environment with VPP and Honeycomb
+
== Starting Honeycomb agent ==
 +
The zipped vpp-integration distribution can be started by invoking:
  
If there already is environment with VPP and it's just Honeycomb that's missing, it can be downloaded straight from [https://nexus.fd.io/service/local/artifact/maven/redirect?r=fd.io.snapshot&g=io.fd.honeycomb.v3po&a=v3po-karaf&v=1.0.0-SNAPSHOT&e=zip FD.io nexus]
+
  sudo ./vpp-integration-distribution-1.16.9-SNAPSHOT/honeycomb
  
== Starting Honeycomb agent ==
+
This will start Honeycomb with all ODL dependencies and VPP translation code. It will automatically initialize vpp-jvpp to create interface between VPP and Honeycomb.
The v3po distribution can be started by invoking:
+
 
 +
If Honeycomb was installed from the RPM or DEB packages, it can be started by ('''make sure you start vpp first'''):
  
   sudo ./karaf/target/assembly/bin/karaf
+
   <span style="color:red">sudo service vpp start</span>
 +
  sudo service honeycomb start
  
This will start karaf with all ODL dependencies and Honeycomb agent. It will automatically initialize vpp-japi to create interface between VPP and Honeycomb
+
The location of installed honeycomb is at /opt/honeycomb
  
 
== Testing Honeycomb agent ==
 
== Testing Honeycomb agent ==
Line 16: Line 19:
 
Netconf northbound can be easily tested manually using CLI SSH client. Initialize SSH connection by invoking:
 
Netconf northbound can be easily tested manually using CLI SSH client. Initialize SSH connection by invoking:
 
    
 
    
   ssh admin@localhost -p 2830 -s netconf
+
   ssh admin@localhost -p 2831 -s netconf
  
Note: Using default credentials ''admin/admin'', default port ''2830'' and ''netconf'' SSH channel
+
Note: Using default credentials ''admin/admin'', default port ''2831'' and ''netconf'' SSH channel
 
Note: "Are you sure you want to continue connecting (yes/no)?" Answer yes
 
Note: "Are you sure you want to continue connecting (yes/no)?" Answer yes
  
Line 59: Line 62:
  
  
Honeycomb will respond will all operational data present in VPP
+
Honeycomb will respond will all operational data present in VPP.
 +
 
 +
==== Listening for notifications ====
 +
 
 +
Notifications over NETCONF are supported by Honeycomb. To test it out, open ssh NETCONF session and send hello message. Exactly as detailed above.
 +
 
 +
Next thing to do is to activate honeycomb notification stream over NETCONF. So just send this rpc over ssh session:
 +
<syntaxhighlight lang="xml">
 +
<netconf:rpc netconf:message-id="101" xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
 +
<create-subscription xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
 +
  <stream>honeycomb</stream>
 +
</create-subscription>
 +
</netconf:rpc>
 +
]]>]]>
 +
</syntaxhighlight>
 +
 
 +
From now on, all notifications from honeycomb will appear in the netconf session. To verify, VPP's interface state can be changed over CLI:
 +
  telnet 0 5002
 +
  set interface state local0 up
 +
 
 +
A notification should appear in opened NETCONF session.
 +
 
 +
 
 +
==== Listening for notifications ====
  
=== Using RESTCONF northbound ===
+
Notifications over RESTCONF are not supported due to ODL's RESTCONF limitations.
Testing over RESTCONF is easier, and common calls can be found in this postman collection: [https://www.getpostman.com/collections/556f60a49593b64dff55 Honeycomb POSTMAN collection]
+
  
 
== Troubleshooting ==
 
== Troubleshooting ==
  
Common issues
+
''' <span style="color:red">Note: Trying to fix any Honeycomb issue should start with looking at honeycomb log file (default location: /var/log/honeycomb/)</span> '''
  
 
=== Unable to open SSH session ===
 
=== Unable to open SSH session ===
Line 74: Line 99:
  
 
=== Honeycomb fails to start properly ===
 
=== Honeycomb fails to start properly ===
First thing to do is to take a look at Honeycomb logs(data/log/karaf.log).
+
First thing to do is to take a look at Honeycomb logs(default location: /var/log/honeycomb/).
  
 
If following log message is present: ''VPP-ERROR: VPP api client connection failed java.io.IOException: Connection returned error -1''. Make sure VPP is installed in the system and it's running.
 
If following log message is present: ''VPP-ERROR: VPP api client connection failed java.io.IOException: Connection returned error -1''. Make sure VPP is installed in the system and it's running.
  
Note: If the VPP-ERROR also contains message stating ''vpp japi out of sync''. It indicates incompatible versions of VPP and Honeycomb.  
+
Note: If the VPP-ERROR also contains message stating ''vpp japi out of sync''. It indicates incompatible versions of VPP and Honeycomb.
  
 
=== Honeycomb does not respond ===
 
=== Honeycomb does not respond ===
 
Check suggestions from previous item: Honeycomb fails to start properly
 
Check suggestions from previous item: Honeycomb fails to start properly

Latest revision as of 16:40, 10 June 2022

Starting Honeycomb agent

The zipped vpp-integration distribution can be started by invoking:

 sudo ./vpp-integration-distribution-1.16.9-SNAPSHOT/honeycomb

This will start Honeycomb with all ODL dependencies and VPP translation code. It will automatically initialize vpp-jvpp to create interface between VPP and Honeycomb.

If Honeycomb was installed from the RPM or DEB packages, it can be started by (make sure you start vpp first):

 sudo service vpp start
 sudo service honeycomb start

The location of installed honeycomb is at /opt/honeycomb

Testing Honeycomb agent

There are multiple ways of testing Honeycomb agent, depending on e.g. which northbound interface will be used

Using NETCONF Northbound

Netconf northbound can be easily tested manually using CLI SSH client. Initialize SSH connection by invoking:

 ssh admin@localhost -p 2831 -s netconf

Note: Using default credentials admin/admin, default port 2831 and netconf SSH channel Note: "Are you sure you want to continue connecting (yes/no)?" Answer yes

Next thing to do is to provide client hello message to initialize netconf session. Following content must be copy&pasted into SSH session + hit enter:

<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
    <capabilities>
        <capability>urn:ietf:params:netconf:base:1.0</capability>
    </capabilities>
</hello>
]]>]]>

This initializes netconf session silently. No response from Honeycomb will be provided

Next step is to get all the configuration data from VPP using Honeycomb's netconf northbound interface. Following content must be copy&pasted into SSH session + hit enter:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
    <get-config>
        <source>
            <running/>
        </source>
    </get-config>
</rpc>
]]>]]>

Honeycomb will respond will all the data currently configured in Honeycomb + VPP

Next step is to get all the operational data from VPP using Honeycomb's netconf northbound interface. Following content must be copy&pasted into SSH session + hit enter:

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
    <get/>
</rpc>
]]>]]>


Honeycomb will respond will all operational data present in VPP.

Listening for notifications

Notifications over NETCONF are supported by Honeycomb. To test it out, open ssh NETCONF session and send hello message. Exactly as detailed above.

Next thing to do is to activate honeycomb notification stream over NETCONF. So just send this rpc over ssh session:

<netconf:rpc netconf:message-id="101" xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
<create-subscription xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
   <stream>honeycomb</stream>
</create-subscription>
</netconf:rpc>
]]>]]>

From now on, all notifications from honeycomb will appear in the netconf session. To verify, VPP's interface state can be changed over CLI:

 telnet 0 5002
 set interface state local0 up

A notification should appear in opened NETCONF session.


Listening for notifications

Notifications over RESTCONF are not supported due to ODL's RESTCONF limitations.

Troubleshooting

Note: Trying to fix any Honeycomb issue should start with looking at honeycomb log file (default location: /var/log/honeycomb/)

Unable to open SSH session

If following warning is shown when invoking ssh command: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!. Just invoke (as suggested by the warning):

 ssh-keygen -f ...

Honeycomb fails to start properly

First thing to do is to take a look at Honeycomb logs(default location: /var/log/honeycomb/).

If following log message is present: VPP-ERROR: VPP api client connection failed java.io.IOException: Connection returned error -1. Make sure VPP is installed in the system and it's running.

Note: If the VPP-ERROR also contains message stating vpp japi out of sync. It indicates incompatible versions of VPP and Honeycomb.

Honeycomb does not respond

Check suggestions from previous item: Honeycomb fails to start properly