Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1427608

Summary: [RFE] Extraction of network information from inspected overcloud nodes
Product: Red Hat OpenStack Reporter: Ramon Acedo <racedoro>
Component: openstack-ironic-inspectorAssignee: Bob Fournier <bfournie>
Status: CLOSED ERRATA QA Contact: Alexander Chuzhoy <sasha>
Severity: high Docs Contact:
Priority: high    
Version: 11.0 (Ocata)CC: bfournie, brault, gideon.agmon, mburns, mlammon, sclewis, slinaber
Target Milestone: Upstream M3Keywords: FutureFeature, TestOnly, Triaged
Target Release: 11.0 (Ocata)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-17 20:02:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1266597, 1336839, 1425176    

Description Ramon Acedo 2017-02-28 17:28:29 UTC
The patches to allow extracting LLDP information during the inspection of the Overcloud nodes has been merged in Ocata. This means that in OSP 11 we can extract this information following a simple process to query the Swift object associated to each node.

Comment 1 Ramon Acedo 2017-02-28 17:35:58 UTC
These are the steps documented by bfournier to to test this as it is now (i.e. using 'jq' instead of OSC):

1. Run introspection
 
``openstack baremetal introspection bulk start``
 
2. Get list of Ironic node uuids
 
``openstack baremetal node list``
 
3. Get LLDP data for a particular node and a particular interface
 
The resulting output will give all of the LLDP data received at the port including VLAN info, MTU setting, and link aggregation settings.
 
e.g. for node 962e5384-5893-45ba-9bb7-17cd04120fae and port em1
``openstack baremetal introspection data save 962e5384-5893-45ba-9bb7-17cd04120fae | jq .all_interfaces.em1.lldp_processed``
{  
  "switch_port_autonegotiation_enabled":true,
  "switch_port_autonegotiation_support":true,
  "switch_capabilities_support":[  
    "Bridge",
    "Router"
  ],
  "switch_port_mtu":9216,
  "switch_port_id":"554",
  "switch_port_physical_capabilities":[  
    "1000BASE-T fdx",
    "100BASE-TX fdx",
    "100BASE-TX hdx",
    "10BASE-T fdx",
    "10BASE-T hdx",
    "Asym and Sym PAUSE fdx"
  ],
  "switch_port_description":"host02.beaker.tripleo.lab.eng.rdu2 port 1 (Prov/Trunked VLANs)",
  "switch_capabilities_enabled":[  
    "Bridge",
    "Router"
  ],
  "switch_port_mau_type":"Unknown",
  "switch_port_link_aggregation_id":0,
  "switch_system_name":"sw01-dist-1b-b12.rdu2",
  "switch_port_link_aggregation_enabled":false,
  "switch_port_link_aggregation_support":true,
  "switch_system_description":"Juniper Networks, Inc. ex4200-48t , version 12.3R6.6 Build date: 2014-03-13 08:38:30 UTC ",
  "switch_port_vlans":[  
    {  
      "id":101,
      "name":"vlan101"
    },
    {  
      "id":102,
      "name":"vlan102"
    },
    {  
      "id":104,
      "name":"vlan104"
    },
    {  
      "id":201,
      "name":"vlan201"
    },
    {  
      "id":203,
      "name":"vlan203"
    }
  ],
  "switch_chassis_id":"64:64:9b:32:f3:00",
  "switch_port_untagged_vlan_id":102
}

Comment 2 Alexander Chuzhoy 2017-02-28 20:21:43 UTC
Environment:
python-ironicclient-1.11.0-1.el7ost.noarch
puppet-ironic-10.3.0-1.el7ost.noarch
instack-undercloud-6.0.0-0.20170220135156.d695df8.el7ost.noarch
python-ironic-lib-2.5.2-1.el7ost.noarch
openstack-ironic-api-7.0.1-0.20170223011831.a13ea4f.el7ost.noarch
openstack-ironic-conductor-7.0.1-0.20170223011831.a13ea4f.el7ost.noarch
python-ironic-inspector-client-1.11.0-1.el7ost.noarch
openstack-ironic-inspector-5.0.1-0.20170214181727.babc2b6.el7ost.noarch
openstack-ironic-common-7.0.1-0.20170223011831.a13ea4f.el7ost.noarch

Below is what I get (machine with 4 nics em1, em2, p1p1, p1p2):
##########################################################################

[stack@undercloud ~]$ openstack baremetal introspection data save 0c117180-c2a4-42c8-a435-655196011803|jq .all_interfaces.em1.lldp_processed
{
  "switch_port_autonegotiation_enabled": true,                                                                                                                                                
  "switch_port_autonegotiation_support": true,                                                                                                                                                
  "switch_capabilities_support": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_port_mtu": 1514,                                                                                                                                                                    
  "switch_port_id": "596",                                                                                                                                                                    
  "switch_port_physical_capabilities": [                                                                                                                                                      
    "1000BASE-T fdx",                                                                                                                                                                         
    "100BASE-TX fdx",                                                                                                                                                                         
    "100BASE-TX hdx",                                                                                                                                                                         
    "10BASE-T fdx",                                                                                                                                                                           
    "10BASE-T hdx",                                                                                                                                                                           
    "Asym and Sym PAUSE fdx"
  ],                                                                                                                                                                                          
  "switch_port_description": "ge-0/0/46.0",                                                                                                                                                   
  "switch_capabilities_enabled": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_port_mau_type": "Unknown",                                                                                                                                                          
  "switch_port_link_aggregation_id": 0,                                                                                                                                                       
  "switch_system_name": "sw07-dist-lab4.bos",                                                                                                                                                 
  "switch_port_link_aggregation_enabled": false,                                                                                                                                              
  "switch_port_link_aggregation_support": true,                                                                                                                                               
  "switch_system_description": "Juniper Networks, Inc. ex4200-48t , version 12.3R3.4 Build date: 2013-06-14 01:38:46 UTC ",                                                                   
  "switch_port_vlans": [                                                                                                                                                                      
    {                                                                                                                                                                                         
      "id": 162,                                                                                                                                                                              
      "name": "vlan162"
    }                                                                                                                                                                                         
  ],                                                                                                                                                                                          
  "switch_chassis_id": "08:81:f4:a6:b3:80",                                                                                                                                                   
  "switch_port_untagged_vlan_id": 162
}                                                                                                                                                                                 
##########################################################################

            
[stack@undercloud ~]$ openstack baremetal introspection data save 0c117180-c2a4-42c8-a435-655196011803|jq .all_interfaces.em2.lldp_processed
{
  "switch_port_autonegotiation_enabled": true,                                                                                                                                                
  "switch_port_autonegotiation_support": true,                                                                                                                                                
  "switch_capabilities_support": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_port_mtu": 1514,                                                                                                                                                                    
  "switch_port_id": "1173",                                                                                                                                                                   
  "switch_port_physical_capabilities": [                                                                                                                                                      
    "1000BASE-T fdx",                                                                                                                                                                         
    "100BASE-TX fdx",                                                                                                                                                                         
    "100BASE-TX hdx",                                                                                                                                                                         
    "10BASE-T fdx",                                                                                                                                                                           
    "10BASE-T hdx",                                                                                                                                                                           
    "Asym and Sym PAUSE fdx"
  ],                                                                                                                                                                                          
  "switch_port_description": "ge-5/0/47.0",                                                                                                                                                   
  "switch_capabilities_enabled": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_port_mau_type": "Unknown",                                                                                                                                                          
  "switch_port_link_aggregation_id": 0,                                                                                                                                                       
  "switch_system_name": "sw07-dist-lab4.bos",                                                                                                                                                 
  "switch_port_link_aggregation_enabled": false,                                                                                                                                              
  "switch_port_link_aggregation_support": true,                                                                                                                                               
  "switch_system_description": "Juniper Networks, Inc. ex4200-48t , version 12.3R3.4 Build date: 2013-06-14 01:38:46 UTC ",                                                                   
  "switch_port_vlans": [                                                                                                                                                                      
    {                                                                                                                                                                                         
      "id": 182,                                                                                                                                                                              
      "name": "vlan182"
    },                                                                                                                                                                                        
    {                                                                                                                                                                                         
      "id": 183,                                                                                                                                                                              
      "name": "vlan183"
    }                                                                                                                                                                                         
  ],                                                                                                                                                                                          
  "switch_chassis_id": "08:81:f4:a6:b3:80",                                                                                                                                                   
  "switch_port_untagged_vlan_id": 182
}                                                                               



##########################################################################                                                                                                              
[stack@undercloud ~]$ openstack baremetal introspection data save 0c117180-c2a4-42c8-a435-655196011803|jq .all_interfaces.p1p1.lldp_processed
{
  "switch_port_mtu": 1514,                                                                                                                                                                    
  "switch_port_autonegotiation_enabled": true,                                                                                                                                                
  "switch_port_autonegotiation_support": true,                                                                                                                                                
  "switch_capabilities_support": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_mgmt_addresses": [                                                                                                                                                                  
    "10.19.184.29"
  ],                                                                                                                                                                                          
  "switch_port_id": "555",                                                                                                                                                                    
  "switch_port_physical_capabilities": [                                                                                                                                                      
    "1000BASE-T fdx",                                                                                                                                                                         
    "100BASE-TX fdx",                                                                                                                                                                         
    "100BASE-TX hdx",                                                                                                                                                                         
    "10BASE-T fdx",                                                                                                                                                                           
    "10BASE-T hdx",                                                                                                                                                                           
    "Asym and Sym PAUSE fdx"
  ],                                                                                                                                                                                          
  "switch_port_description": "ge-0/0/26.0",                                                                                                                                                   
  "switch_capabilities_enabled": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_port_mau_type": "Unknown",                                                                                                                                                          
  "switch_port_link_aggregation_id": 0,                                                                                                                                                       
  "switch_system_name": "rhos-compute-node-sw1",                                                                                                                                              
  "switch_port_link_aggregation_enabled": false,                                                                                                                                              
  "switch_port_link_aggregation_support": true,                                                                                                                                               
  "switch_system_description": "Juniper Networks, Inc. ex4200-48t , version 12.3R4.6 Build date: 2013-09-13 04:12:57 UTC ",                                                                   
  "switch_port_vlans": [                                                                                                                                                                      
    {                                                                                                                                                                                         
      "id": 101,                                                                                                                                                                              
      "name": "RHOS13-PXE"
    }                                                                                                                                                                                         
  ],                                                                                                                                                                                          
  "switch_chassis_id": "64:64:9b:31:12:00",                                                                                                                                                   
  "switch_port_untagged_vlan_id": 101
}                                                                                           

##########################################################################
                                                                                                  
[stack@undercloud ~]$ openstack baremetal introspection data save 0c117180-c2a4-42c8-a435-655196011803|jq .all_interfaces.p1p2.lldp_processed
{
  "switch_port_mtu": 1514,                                                                                                                                                                    
  "switch_port_autonegotiation_enabled": true,                                                                                                                                                
  "switch_port_autonegotiation_support": true,                                                                                                                                                
  "switch_capabilities_support": [                                                                                                                                                            
    "Bridge",                                                                                                                                                                                 
    "Router"
  ],                                                                                                                                                                                          
  "switch_mgmt_addresses": [                                                                                                                                                                  
    "10.19.184.29"
  ],                                                                                                                                                                                          
  "switch_port_id": "558",                                                                                                                                                                    
  "switch_port_physical_capabilities": [                                                                                                                                                      
    "1000BASE-T fdx",                                                                                                                                                                         
    "100BASE-TX fdx",                                                                                                                                                                         
    "100BASE-TX hdx",                                                                                                                                                                         
    "10BASE-T fdx",                                                                                                                                                                           
    "10BASE-T hdx",
    "Asym and Sym PAUSE fdx"
  ],
  "switch_port_description": "ge-0/0/27.0",
  "switch_capabilities_enabled": [
    "Bridge",
    "Router"
  ],
  "switch_port_mau_type": "Unknown",
  "switch_port_link_aggregation_id": 0,
  "switch_system_name": "rhos-compute-node-sw1",
  "switch_port_link_aggregation_enabled": false,
  "switch_port_link_aggregation_support": true,
  "switch_system_description": "Juniper Networks, Inc. ex4200-48t , version 12.3R4.6 Build date: 2013-09-13 04:12:57 UTC ",
  "switch_port_vlans": [
    {
      "id": 103,
      "name": "RHOS13-Storagemgmt"
    },
    {
      "id": 102,
      "name": "RHOS13-Tenant"
    },
    {
      "id": 18,
      "name": "__test-vlan-range18-43_18__"
    },
    {
      "id": 20,
      "name": "__test-vlan-range18-43_20__"
    },
    {
      "id": 42,
      "name": "__test-vlan-range18-43_42__"
    }
  ],
  "switch_chassis_id": "64:64:9b:31:12:00",
  "switch_port_untagged_vlan_id": 102
}


##########################################################################
Checking non existing nic:
[stack@undercloud ~]$ openstack baremetal introspection data save 0c117180-c2a4-42c8-a435-655196011803|jq .all_interfaces.p1p3.lldp_processed
null

Comment 3 Alexander Chuzhoy 2017-02-28 20:38:41 UTC
Tried the same on a virtual setup (no lldp):

[stack@undercloud-0 ~]$  openstack baremetal introspection data save  34943eb5-5628-48ee-8009-6166c26c75ad|jq .all_interfaces.eth0.lldp_processed

null

Comment 6 Alexander Chuzhoy 2017-03-22 17:23:28 UTC
Verified:

Environment:
instack-undercloud-6.0.0-2.el7ost.noarch
openstack-ironic-inspector-5.0.0-2.el7ost.noarch
python-ironic-inspector-client-1.11.0-0.20170208193115.481a92e.el7ost.noarch
openstack-ironic-common-7.0.1-0.20170301202959.91540cd.el7ost.noarch
python-ironicclient-1.11.0-0.20170208194603.f1f10cb.el7ost.noarch
openstack-ironic-api-7.0.1-0.20170301202959.91540cd.el7ost.noarch
puppet-ironic-10.3.0-1.el7ost.noarch
openstack-ironic-conductor-7.0.1-0.20170301202959.91540cd.el7ost.noarch
python-ironic-lib-2.5.2-0.20170208212103.ace87b6.el7ost.noarch


The functionality is there and tested.

Comment 7 errata-xmlrpc 2017-05-17 20:02:46 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:1245