How to validate OpenDaylight service?

Solution Verified - Updated -

Environment

  • RedHat OpenStack Director v.12
  • OpenDaylight Carbon

Issue

How to validate OpenDaylight service?

Resolution

  • To test that OpenDaylight is working, as a superuser login to the overcloud controller node running OpenDaylight or an OpenDaylight node running in a composable role.
  • Verify that the OpenDaylight container service is active:

    @overcloud-controller-0 ~]# docker ps | grep opendaylight
    2363a99d514a        xxx.xx.x.1:8787/rhosp12/openstack-opendaylight:latest         "kolla_start"            4 hours ago         Up 4 hours (healthy)                       opendaylight_api
    
  • Verify that HAProxy is properly configured to listen on port 8081:

    @overcloud-controller-0 ~]# docker exec -it -u root haproxy-bundle-docker-0 grep -A7 opendaylight /etc/haproxy/haproxy.cfg
    listen opendaylight
      bind xxx.xx.x.10:8081 transparent
      bind xxx.xx.x.10:8081 transparent
      mode http
      balance source
      server overcloud-controller-0.internalapi.localdomain xxx.xx.x.22:8081 check fall 5 inter 2000 rise 2
      server overcloud-controller-1.internalapi.localdomain xxx.xx.x.12:8081 check fall 5 inter 2000 rise 2
      server overcloud-controller-2.internalapi.localdomain xxx.xx.x.13:8081 check fall 5 inter 2000 rise 2
    
  • From overcloud controller connect to the karaf account:

    ssh -p 8101 karaf@localhost
    
  • List the installed features.

    opendaylight-user@root>feature:list -i
    Name                                           | Version                | Installed | Repository                                       | Description                                       
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    standard                                       | 3.0.8                  | x         | standard-3.0.8                                   | Karaf standard feature                            
    config                                         | 3.0.8                  | x         | standard-3.0.8                                   | Provide OSGi ConfigAdmin support                  
    region                                         | 3.0.8                  | x         | standard-3.0.8                                   | Provide Region Support                            
    package                                        | 3.0.8                  | x         | standard-3.0.8                                   | Package commands and mbeans                       
    http                                           | 3.0.8                  | x         | standard-3.0.8                                   | Implementation of the OSGI HTTP Service           
    war                                            | 3.0.8                  | x         | standard-3.0.8                                   | Turn Karaf as a full WebContainer                 
    kar                                            | 3.0.8                  | x         | standard-3.0.8                                   | Provide KAR (KARaf archive) support               
    ssh                                            | 3.0.8                  | x         | standard-3.0.8                                   | Provide a SSHd server on Karaf                    
    management                                     | 3.0.8                  | x         | standard-3.0.8                                   | Provide a JMX MBeanServer and a set of MBeans in K
    <..trim..>
    
  • Verify Netvirt features.

    opendaylight-user@root>feature:list -i | grep odl-netvirt-openstack
    odl-netvirt-openstack                          | 0.4.2.Carbon-redhat-3  | x         | odl-netvirt-0.4.2.Carbon-redhat-3                | OpenDaylight :: NetVirt :: OpenStack     
    
  • Verify that the API is up and running.

    opendaylight-user@root>web:list | grep neutron
    280 | Active      | Deployed    | 80    | /controller/nb/v2/neutron | org.opendaylight.neutron.northbound-api (0.8.2.Carbon-redhat-3)
    
  • Verify that VXLAN tunnels between the nodes are up.

    opendaylight-user@root>vxlan:show
    Name                                              Description                                  
    Local IP                 Remote IP                Gateway IP         AdmState
    OpState                  Parent                   Tag                     
    --------------------------------------------------------------------------------
    tuned40c58d47e                                    VXLAN Trunk Interface                        
    xxx.xx.x.11              xxx.xx.x.12              0.0.0.0            ENABLED
    UP                       13439208206708/tuned40c58d47e 24                      
    
    tun6bd16809486                                    VXLAN Trunk Interface                        
    xxx.xx.x.11              xxx.xx.x.13              0.0.0.0            ENABLED
    UP                       13439208206708/tun6bd16809486 23                      
    
    tun6c3c2524c35                                    VXLAN Trunk Interface                        
    xxx.xx.x.15              xxx.xx.x.16              0.0.0.0            ENABLED
    UP                       259591360115770/tun6c3c2524c35 5                       
    <..trim..>
    
  • To test that the REST API is responding correctly, you can list the modules that are using it.

    @overcloud-controller-0 ~]# curl -u "admin:admin" http://$controller_local_InternalAPI_IP:8181/restconf/modules
    
    The output will be similar (the example has been shortened). 
    
    {"modules":{"module":[{"name":"netty-event-executor","revision":"2017-12-29","namespace":"urn:opendaylight:params:xml:ns:yang:controller:netty:eventexecutor"},{"name" ...
    
  • List the REST streams.

    @overcloud-controller-0 ~]# curl -u "admin:admin" http://$controller_local_InternalAPI_IP:8181/restconf/streams
    
    You will get something like this: 
    
    {"streams":{}}
    
  • Enter the following command to verify that NetVirt is ready and running.

    @overcloud-controller-0 ~]# curl -u "admin:admin" http://$controller_local_InternalAPI_IP:8181/restconf/operational/network-topology:network-topology/topology/netvirt:1
    
    The following output will confirm it. 
    
    {"topology":[{"topology-id":"netvirt:1"}]}
    

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments