【ODL-Openstack学习系列-01】-odl-neutron北向抓包分析

前言

odl-neutron是与openstack对接的北向模块,通过抓包分析openstack下发至odl-neutron的北向数据,可以大致了解到neutron的北向模型,以及各种请求的基本数据,便于我们进一步学习odl-netvirt代码,同时对于neutron的业务创建逻辑有一个更清楚的理解,特别是网络、子网、虚拟机、路由器这些创建过程,openstack neutron到底做了什么?基于这个疑问,将总结如下。

1 抓包过滤条件

  • 过滤ip和http
    http.request.method&& ip.src10.0.0.12 && ip.dst10.0.0.12

  • 过滤非get rest接口
    http&&http.request.method!=GET && ip.src10.0.0.12 && ip.dst10.0.0.12

  • 过滤uri—最优推荐
    http.request.uri matches “/controller/nb/v2/neutron/.*”
    http.request.uri contains “/controller/nb/v2/neutron”

    帮助信息:

    a-点击右侧过滤按键
    b-搜索search找到相关过滤规则名
    c-在Relation找到匹配条件表达式,
    这里通常包含“==”、“!=”、“>=”、“<=”、“contains”、“matches”等表达式条件;
    d-在vlaue栏目中填入具体匹配条件,这里支持正则表达式选项;
    e-点击ok则可以在相应位置生成相关信息;

2 抓包过程总体分析

在这里插入图片描述
包含流程:

a.创建网络--network POST

b.创建子网--subnet POST

c.dhcp端口添加--ports POST\\ports PUT

d.vm创建--ports POST\\port PUT\\port PUT

c.创建路由--router POST

d.创建路由接口--ports POST\\port PUT

3 网络创建

network抓包描述:

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/networks]
    [HTTP request 1/2]
    [Response in frame: 28214]
    [Next request in frame: 28722]
    File Data: 801 bytes
JavaScript Object Notation: application/json
/*
    Object
        Member Key: network
            Object
                Member Key: provider:physical_network
                    Null value
                    Key: provider:physical_network
                Member Key: ipv6_address_scope
                    Null value
                    Key: ipv6_address_scope
                Member Key: revision_number
                    Number value: 2
                    Key: revision_number
                Member Key: port_security_enabled
                    True value
                    Key: port_security_enabled
                Member Key: provider:network_type
                    String value: vxlan
                    Key: provider:network_type
                Member Key: id
                    String value: 25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: id
                Member Key: router:external
                    False value
                    Key: router:external
                Member Key: availability_zone_hints
                    Array
                    Key: availability_zone_hints
                Member Key: availability_zones
                    Array
                    Key: availability_zones
                Member Key: ipv4_address_scope
                    Null value
                    Key: ipv4_address_scope
                Member Key: shared
                    False value
                    Key: shared
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: updated_at
                    String value: 2018-09-04T03:06:23Z
                    Key: updated_at
                Member Key: is_default
                    False value
                    Key: is_default
                Member Key: provider:segmentation_id
                    Number value: 59
                    Key: provider:segmentation_id
                Member Key: name
                    String value: network2
                    Key: name
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: created_at
                    String value: 2018-09-04T03:06:23Z
                    Key: created_at
                Member Key: mtu
                    Number value: 1450
                    Key: mtu
                Member Key: vlan_transparent
                    Null value
                    Key: vlan_transparent
            Key: network

*/

4 子网创建+使能DHCP

4.1 subnet add

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/subnets]
    [HTTP request 2/2]
    [Prev request in frame: 28205]
    [Response in frame: 29017]
    File Data: 807 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: subnet
            Object
                Member Key: updated_at
                    String value: 2018-09-04T03:06:24Z
                    Key: updated_at
                Member Key: ipv6_ra_mode
                    Null value
                    Key: ipv6_ra_mode
                Member Key: allocation_pools
                    Array
                        Object
                            Member Key: start
                                String value: 192.168.222.10
                                Key: start
                            Member Key: end
                                String value: 192.168.222.15
                                Key: end
                    Key: allocation_pools
                Member Key: host_routes
                    Array
                    Key: host_routes
                Member Key: revision_number
                    Number value: 0
                    Key: revision_number
                Member Key: ipv6_address_mode
                    Null value
                    Key: ipv6_address_mode
                Member Key: id
                    String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                    Key: id
                Member Key: dns_nameservers
                    Array
                    Key: dns_nameservers
                Member Key: gateway_ip
                    String value: 192.168.222.1
                    Key: gateway_ip
                Member Key: shared
                    False value
                    Key: shared
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: cidr
                    String value: 192.168.222.0/24
                    Key: cidr
                Member Key: service_types
                    Array
                    Key: service_types
                Member Key: name
                    String value: sub2
                    Key: name
                Member Key: enable_dhcp
                    True value
                    Key: enable_dhcp
                Member Key: network_id
                    String value: 25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: network_id
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: created_at
                    String value: 2018-09-04T03:06:24Z
                    Key: created_at
                Member Key: ip_version
                    Number value: 4
                    Key: ip_version
            Key: subnet

4.2 dhcp port add

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports]
    [HTTP request 1/2]
    [Response in frame: 31441]
    [Next request in frame: 31636]
    File Data: 868 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: port_security_enabled
                    False value
                    Key: port_security_enabled
                Member Key: binding:host_id
                    String value: host-1
                    Key: binding:host_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: network_id
                    String value: 25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: network_id
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: device_owner
                    String value: network:dhcp
                    Key: device_owner
                Member Key: mac_address
                    String value: fa:16:3e:66:d4:bd
                    Key: mac_address
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.10
                                Key: ip_address
                    Key: fixed_ips
                Member Key: id
                    String value: 4ce3dff2-f710-4108-af92-48207a5ab42c
                    Key: id
                Member Key: security_groups
                    Array
                    Key: security_groups
                Member Key: device_id
                    String value: dhcpf72400a4-a35a-5d17-b5ce-25036ebf0bbc-25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: device_id
            Key: port

4.3 dhcp port update

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports/4ce3dff2-f710-4108-af92-48207a5ab42c]
    [HTTP request 2/2]
    [Prev request in frame: 31091]
    [Response in frame: 31681]
    File Data: 858 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: extra_dhcp_opts
                    Array
                    Key: extra_dhcp_opts
                Member Key: updated_at
                    String value: 2018-09-04T03:06:25Z
                    Key: updated_at
                Member Key: device_owner
                    String value: network:dhcp
                    Key: device_owner
                Member Key: revision_number
                    Number value: 3
                    Key: revision_number
                Member Key: port_security_enabled
                    False value
                    Key: port_security_enabled
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.10
                                Key: ip_address
                    Key: fixed_ips
                Member Key: security_groups
                    Array
                    Key: security_groups
                Member Key: binding:vif_details
                    Object
                        Member Key: port_filter
                            True value
                            Key: port_filter
                    Key: binding:vif_details
                Member Key: binding:vif_type
                    String value: ovs
                    Key: binding:vif_type
                Member Key: mac_address
                    String value: fa:16:3e:66:d4:bd
                    Key: mac_address
                Member Key: binding:host_id
                    String value: host-1
                    Key: binding:host_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: device_id
                    String value: dhcpf72400a4-a35a-5d17-b5ce-25036ebf0bbc-25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: device_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: created_at
                    String value: 2018-09-04T03:06:24Z
                    Key: created_at
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
            Key: port

5 vm增加

第一次更新操作填入device_owner: compute:host-2

更新还加入vir_details\vif__type\mac_address\tags等信息

第二次更新主要为vif_type变化由unbound---->ovs

5.1 vm端口增加

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports]
    [HTTP request 9/15]
    [Prev request in frame: 12261]
    [Response in frame: 50560]
    [Next request in frame: 51786]
    File Data: 882 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: port_security_enabled
                    True value
                    Key: port_security_enabled
                Member Key: binding:host_id
                    String value: 
                    Key: binding:host_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: network_id
                    String value: 25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: network_id
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: device_owner
                    String value: 
                    Key: device_owner
                Member Key: mac_address
                    String value: fa:16:3e:2b:ff:a6
                    Key: mac_address
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.11
                                Key: ip_address
                    Key: fixed_ips
                Member Key: id
                    String value: 86f838a8-e224-404a-9858-8b2f1c2a4667
                    Key: id
                Member Key: security_groups
                    Array
                        Object
                            Member Key: id
                                String value: ffa53b72-48c3-4f0b-93da-ff9ee2f8e795
                                Key: id
                    Key: security_groups
                Member Key: device_id
                    String value: 125c628e-5885-431e-86f0-c3fa713e0aea
                    Key: device_id
            Key: port

5.2 vm端口更新1

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports/86f838a8-e224-404a-9858-8b2f1c2a4667]
    [HTTP request 10/15]
    [Prev request in frame: 50549]
    [Response in frame: 51825]
    [Next request in frame: 52764]
    File Data: 865 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: extra_dhcp_opts
                    Array
                    Key: extra_dhcp_opts
                Member Key: updated_at
                    String value: 2018-09-04T03:07:06Z
                    Key: updated_at
                Member Key: device_owner
                    String value: compute:host-2
                    Key: device_owner
                Member Key: revision_number
                    Number value: 4
                    Key: revision_number
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: port_security_enabled
                    True value
                    Key: port_security_enabled
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.11
                                Key: ip_address
                    Key: fixed_ips
                Member Key: security_groups
                    Array
                        Object
                            Member Key: id
                                String value: ffa53b72-48c3-4f0b-93da-ff9ee2f8e795
                                Key: id
                    Key: security_groups
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: mac_address
                    String value: fa:16:3e:2b:ff:a6
                    Key: mac_address
                Member Key: binding:host_id
                    String value: host-2
                    Key: binding:host_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: device_id
                    String value: 125c628e-5885-431e-86f0-c3fa713e0aea
                    Key: device_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: created_at
                    String value: 2018-09-04T03:07:05Z
                    Key: created_at
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
            Key: port

5.3 vm端口更新2

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports/86f838a8-e224-404a-9858-8b2f1c2a4667]
    [HTTP request 11/15]
    [Prev request in frame: 51786]
    [Response in frame: 52781]
    [Next request in frame: 61762]
    File Data: 892 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: extra_dhcp_opts
                    Array
                    Key: extra_dhcp_opts
                Member Key: updated_at
                    String value: 2018-09-04T03:07:06Z
                    Key: updated_at
                Member Key: device_owner
                    String value: compute:host-2
                    Key: device_owner
                Member Key: revision_number
                    Number value: 4
                    Key: revision_number
                Member Key: port_security_enabled
                    True value
                    Key: port_security_enabled
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.11
                                Key: ip_address
                    Key: fixed_ips
                Member Key: security_groups
                    Array
                        Object
                            Member Key: id
                                String value: ffa53b72-48c3-4f0b-93da-ff9ee2f8e795
                                Key: id
                    Key: security_groups
                Member Key: binding:vif_details
                    Object
                        Member Key: port_filter
                            True value
                            Key: port_filter
                    Key: binding:vif_details
                Member Key: binding:vif_type
                    String value: ovs
                    Key: binding:vif_type
                Member Key: mac_address
                    String value: fa:16:3e:2b:ff:a6
                    Key: mac_address
                Member Key: binding:host_id
                    String value: host-2
                    Key: binding:host_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: device_id
                    String value: 125c628e-5885-431e-86f0-c3fa713e0aea
                    Key: device_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: created_at
                    String value: 2018-09-04T03:07:05Z
                    Key: created_at
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
            Key: port

6 路由增加

端口更新加入vir_details\vif__type\mac_address\tags等信息

接口加入时候填入:router_interface

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/routers]
    [HTTP request 1/1]
    [Response in frame: 55128]
    File Data: 592 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: router
            Object
                Member Key: status
                    String value: ACTIVE
                    Key: status
                Member Key: external_gateway_info
                    Null value
                    Key: external_gateway_info
                Member Key: availability_zone_hints
                    Array
                    Key: availability_zone_hints
                Member Key: ha
                    False value
                    Key: ha
                Member Key: ha_vr_id
                    Number value: 0
                    Key: ha_vr_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: gw_port_id
                    Null value
                    Key: gw_port_id
                Member Key: tags
                    Array
                    Key: tags
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: created_at
                    String value: 2018-09-04T03:07:13Z
                    Key: created_at
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: distributed
                    False value
                    Key: distributed
                Member Key: updated_at
                    String value: 2018-09-04T03:07:13Z
                    Key: updated_at
                Member Key: revision_number
                    Number value: 0
                    Key: revision_number
                Member Key: routes
                    Array
                    Key: routes
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: id
                    String value: e785315f-965d-478e-9ca5-c7df70f73fee
                    Key: id
                Member Key: name
                    String value: router1
                    Key: name
            Key: router

7 路由接口关联

端口更新加入vir_details\vif__type\mac_address\tags等信息

接口加入时候填入:router_interface

7.1 接口1增加

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports]
    [HTTP request 12/15]
    [Prev request in frame: 52764]
    [Response in frame: 61792]
    [Next request in frame: 62505]
    File Data: 832 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: port_security_enabled
                    False value
                    Key: port_security_enabled
                Member Key: binding:host_id
                    String value: 
                    Key: binding:host_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: network_id
                    String value: 25601711-79ca-46aa-9a95-fbb02676cb4d
                    Key: network_id
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: device_owner
                    String value: network:router_interface
                    Key: device_owner
                Member Key: mac_address
                    String value: fa:16:3e:d3:1e:8c
                    Key: mac_address
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.1
                                Key: ip_address
                    Key: fixed_ips
                Member Key: id
                    String value: b75ee163-5c54-4d1c-87b6-a7d7fa2d2214
                    Key: id
                Member Key: security_groups
                    Array
                    Key: security_groups
                Member Key: device_id
                    String value: e785315f-965d-478e-9ca5-c7df70f73fee
                    Key: device_id
            Key: port

7.2 接口1更新

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports/b75ee163-5c54-4d1c-87b6-a7d7fa2d2214]
    [HTTP request 13/15]
    [Prev request in frame: 61762]
    [Response in frame: 62595]
    [Next request in frame: 65846]
    File Data: 795 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: extra_dhcp_opts
                    Array
                    Key: extra_dhcp_opts
                Member Key: updated_at
                    String value: 2018-09-04T03:07:33Z
                    Key: updated_at
                Member Key: device_owner
                    String value: network:router_interface
                    Key: device_owner
                Member Key: revision_number
                    Number value: 4
                    Key: revision_number
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: port_security_enabled
                    False value
                    Key: port_security_enabled
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 091a0a7c-60d8-4b55-be54-5d28e7cdfedb
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.222.1
                                Key: ip_address
                    Key: fixed_ips
                Member Key: security_groups
                    Array
                    Key: security_groups
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: mac_address
                    String value: fa:16:3e:d3:1e:8c
                    Key: mac_address
                Member Key: binding:host_id
                    String value: 
                    Key: binding:host_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: device_id
                    String value: e785315f-965d-478e-9ca5-c7df70f73fee
                    Key: device_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: created_at
                    String value: 2018-09-04T03:07:32Z
                    Key: created_at
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
            Key: port

接口2增加

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports]
    [HTTP request 14/15]
    [Prev request in frame: 62505]
    [Response in frame: 65948]
    [Next request in frame: 66623]
    File Data: 831 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: port_security_enabled
                    False value
                    Key: port_security_enabled
                Member Key: binding:host_id
                    String value: 
                    Key: binding:host_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: network_id
                    String value: 96c95d81-cbef-442e-a1d3-bfd5f6266231
                    Key: network_id
                Member Key: tenant_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: tenant_id
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: device_owner
                    String value: network:router_interface
                    Key: device_owner
                Member Key: mac_address
                    String value: fa:16:3e:3f:9b:f0
                    Key: mac_address
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: project_id
                    String value: b24f2b656ff24fd3aaab3a24a09dc3d6
                    Key: project_id
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 96d6c365-6582-4dbf-a26b-74a0f3bf106f
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.11.1
                                Key: ip_address
                    Key: fixed_ips
                Member Key: id
                    String value: 40eb7085-2d3b-4c4e-8b00-cb658b6ce62e
                    Key: id
                Member Key: security_groups
                    Array
                    Key: security_groups
                Member Key: device_id
                    String value: e785315f-965d-478e-9ca5-c7df70f73fee
                    Key: device_id
            Key: port

接口2更新

    [Full request URI: http://10.0.0.12:8181/controller/nb/v2/neutron/ports/40eb7085-2d3b-4c4e-8b00-cb658b6ce62e]
    [HTTP request 15/15]
    [Prev request in frame: 65846]
    [Response in frame: 66637]
    File Data: 794 bytes
/*
JavaScript Object Notation: application/json
    Object
        Member Key: port
            Object
                Member Key: allowed_address_pairs
                    Array
                    Key: allowed_address_pairs
                Member Key: extra_dhcp_opts
                    Array
                    Key: extra_dhcp_opts
                Member Key: updated_at
                    String value: 2018-09-04T03:07:43Z
                    Key: updated_at
                Member Key: device_owner
                    String value: network:router_interface
                    Key: device_owner
                Member Key: revision_number
                    Number value: 4
                    Key: revision_number
                Member Key: binding:profile
                    Object
                    Key: binding:profile
                Member Key: port_security_enabled
                    False value
                    Key: port_security_enabled
                Member Key: fixed_ips
                    Array
                        Object
                            Member Key: subnet_id
                                String value: 96d6c365-6582-4dbf-a26b-74a0f3bf106f
                                Key: subnet_id
                            Member Key: ip_address
                                String value: 192.168.11.1
                                Key: ip_address
                    Key: fixed_ips
                Member Key: security_groups
                    Array
                    Key: security_groups
                Member Key: binding:vif_details
                    Object
                    Key: binding:vif_details
                Member Key: binding:vif_type
                    String value: unbound
                    Key: binding:vif_type
                Member Key: mac_address
                    String value: fa:16:3e:3f:9b:f0
                    Key: mac_address
                Member Key: binding:host_id
                    String value: 
                    Key: binding:host_id
                Member Key: description
                    String value: 
                    Key: description
                Member Key: tags
                    Array
                    Key: tags
                Member Key: device_id
                    String value: e785315f-965d-478e-9ca5-c7df70f73fee
                    Key: device_id
                Member Key: name
                    String value: 
                    Key: name
                Member Key: admin_state_up
                    True value
                    Key: admin_state_up
                Member Key: created_at
                    String value: 2018-09-04T03:07:42Z
                    Key: created_at
                Member Key: binding:vnic_type
                    String value: normal
                    Key: binding:vnic_type
            Key: port

8 总结

8.1 device-owner总结

network:dhcp

router_interface

compute:host-2

8.2 细节分析

  • 创建网络子网,并不会产生端口,使能dhcp会增加相关dhcp接口,不管在openstack原生环境,还是odl环境都是如此;
  • 创建虚机会在ovs下发相关端口,从北向分析可知,会有两次更新端口更新事件,相关端口device-owner归属在更新事件中确定。

猜你喜欢

转载自blog.csdn.net/xinquanv1/article/details/82862580
今日推荐