ODL neutron northbound boron planning
feature gaps in ODL and openstack
Isaku Yamahata
OpenDaylight Developer Design Forum Feb 29, 2016
https://wiki.opendaylight.org/view/NeutronNorthbound:Main
etherpad:https://pad.opendaylight.org/p/neutron-northbound-boron-planning�trello board: https://trello.com/b/LhIIQ8Z0/odl-neutronnorthbound
Goal of ODL Neutron Northbound
Expected outcome of this session
version support: openstack vs opendaylight
Kilo(security supported) | Liberty(stable) | Mitaka(development) | Newton(future) | Ocata | ||||
Helium(SR4) | Lithium(SR3) | Beryllium(stable) | Boron(development): LTS | Carbon(future) |
| openstack security support | openstack stable release | openstack development |
opendaylight SR | - | - | should maintain?�engineering resource? |
opendaylight stable release | - | No major activity | test by openstack CI |
opendaylight development | should maintain? engineering resource? | TODO: test by ODL CI | test by opensatck CI test by ODL CI(TODO) Developer major focus |
2 or 3 openstack version?
| Kilo | Liberty | Mitaka | Newton | Ocata |
Hellium | | | ? | | |
Lithium | ? | | | ? | |
Beryllium | ? | ? | | | ? |
Boron | | ? | ? | | |
Carbon | | | ? | ? | |
future
should apply for Mature project review?
incompatible update(mainly yang model)
project | Ready to eliminate I*Aware? |
ovsdb/netvirt | Yes |
GroupBasedPolicy | No |
VTN | Yes |
LispFlowMapping | No |
NIC | Yes |
Security Group:
protocol conversion: string into integer
neutron extension
features/extension | supported by neutron northbound? | supported by ovsdb/netvirt GBP, lispflowmapper, vtn, nic | comment |
providernet | yes It requires a way for cloud admin to tell how compute/network node is connected physically | No | common model to describe providernet on each compute/network node is necessary |
extraroute | Yes | Yes | |
metering | Yes | No | |
netmtu | No | No | |
network_availability_zone | No | No | |
portsecurity | No | No | |
qos | No | No | 5 qos policies in neutron with ovs |
vlantransparent | No | No | |
vlan trunking(vlan aware vms) | No | No | this feature is still under development in openstack neutron |
router_availability_zone | No | No | |
L3 feature
feature | supported by neutron northbound? | supported by netvirt, GBP, lispflowmapper, vtn, nic | reference implementation(ovs-agent, l3-agent) | comment |
DVR east-west | - | Yes | Yes | |
DVR north-south: foating ip(DNAT) | - | Yes | Yes | |
DVR north-south: shared SNAT distributed SNAT | needs network node scheduling | No | Yes: HA with VRRP centralized shared SNAT scneduler | keepalived |
ipv6 router advertisement | - | No | Yes | radvd RFC2461 |
IPv6 SLAAC | - | No | yes | rfc4862 rfc7527 |
metadata (amazon API http://169.254.169.254/latest/meta-data/) | - | No | meta data agent meta data proxy on networking node | This isn’t necessary as dhcp agetn with metadata server |
services
features/extension | supported by neutron northbound? | support by netvirt, GBP, lispflowmapper, vtn, nic | comment |
LBaaSv1 | yes | yes | |
LBaaSv2 | no | no | |
FWaaS | no | no | |
VPNaaS | no | no | |
bgpvpn | yes | yes by vpnservice | |
networking-l2gw | yes | yes | there is ODL project |
networking-taas(tap as a service) | no | no | |
networking-sfc | no | no | |
New coming features in Mitaka
add-port-timestamp.rst�add-tags-to-core-resources.rst�address-scopes.rst�adopt-oslo-guru-reports.rst�availability-zone.rst�bgp-dynamic-routing.rst�external-dns-resolution.rst�fwaas-api-2.0.rst�get-me-a-network.rst��
improve-dvr-l3-agent-binding.rst�lbaas-driver-vip-delegation.rst�lbaas-l7-rules.rst�network-ip-availability-api.rst�neutron-flavor-framework-templates.rst�neutron-lib.rst�rbac-qos-policies.rst�restructure-l2-agent.rst�unaddressed-port.rst�vlan-aware-vms.rst
agent_db
host-id
agent-type
config
key:host-id
host-type
config
Neutron
ODL
Neutron Northbound
ODL
openstack service provider
networking-odl
OVSDB
host-id:host-type:config
port binding
router scheduling
startup
On port binding: refer to agent_db for config on host-id
on startup of networking-odl
and periodically networking-odl polls ODL MD-SAL via http.
Later phase, introduce callback from ODL to networking-odl
nova
Subclass of mech_agent.py
node related configurations
node related configurations
{� 'supported_vnic_types': [VNIC_NORMAL, VNIC_DIRECT, ...],� 'allowed_network_types': [TYPE_LOCAL, TYPE_FLAT, TYPE_VLAN, TYPE_VXLAN...],� 'bridge_mappings': [<physical_network>:<bridge>, ...],� 'supported_vnic_types': {VNIC_NORMAL: vif_details_normal, ...},� 'vif_type': VIF_TYPE_VHOST_USER,� 'vif_details': {CAP_PORT_FILTER: False, VHOST_USER_SOCKET: sock_path, ...},� 'vlan_transparency': false,
….� }
Local config: bad
port binding and agent
networking-node without l3-agent
dhcp, radvd and vrrp
dhcp agent | dhcp |
l3 agent | router advertisement(radvd) |
vrrp(keepalived) |
capability reporting
rolling upgrade
How to upgrade ODL without downtime
What’s the procedure to upgrade
backup