Add support for onos

Co-Authored-By: caowei <cao.wei@99cloud.net>
Co-Authored-By: yuqian <yu.qian@99cloud.net>

Change-Id: If8143b720203fe75cf586248f1fa1d3fde34c750
blueprint: onos-support
This commit is contained in:
yuqian 2018-06-29 17:18:47 +08:00
parent 97dcee4c98
commit 5f3cbd8360
8 changed files with 34 additions and 6 deletions

View File

@ -491,6 +491,7 @@ enable_neutron_sfc: "no"
enable_neutron_infoblox_ipam_agent: "no"
enable_nova_serialconsole_proxy: "no"
enable_octavia: "no"
enable_onos: "no"
enable_opendaylight: "no"
enable_openvswitch: "{{ neutron_plugin_agent != 'linuxbridge' | bool }}"
enable_ovs_dpdk: "no"
@ -697,7 +698,7 @@ neutron_tenant_network_types: "vxlan"
# valid values: ["dvr", "dvr_no_external"]
neutron_compute_dvr_mode: "dvr"
computes_need_external_bridge: "{{ enable_neutron_dvr | bool and (neutron_compute_dvr_mode == 'dvr' or inventory_hostname in groups['external-compute']) or enable_neutron_provider_networks | bool or enable_opendaylight | bool and neutron_plugin_agent != 'vmware_dvs' }}"
computes_need_external_bridge: "{{ enable_neutron_dvr | bool and (neutron_compute_dvr_mode == 'dvr' or inventory_hostname in groups['external-compute']) or enable_neutron_provider_networks | bool or enable_opendaylight | bool and neutron_plugin_agent != 'vmware_dvs' and not enable_onos | bool }}"
# Default DNS resolvers for virtual networks
neutron_dnsmasq_dns_servers: "1.1.1.1,8.8.8.8,8.8.4.4"

View File

@ -15,7 +15,7 @@ neutron_services:
neutron-openvswitch-agent:
container_name: "neutron_openvswitch_agent"
image: "{{ neutron_openvswitch_agent_image_full }}"
enabled: "{{ neutron_plugin_agent == 'openvswitch' }}"
enabled: "{{ neutron_plugin_agent == 'openvswitch' and not enable_onos | bool }}"
privileged: True
host_in_groups: >-
{{
@ -80,7 +80,7 @@ neutron_services:
container_name: "neutron_dhcp_agent"
image: "{{ neutron_dhcp_agent_image_full }}"
privileged: True
enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] }}"
enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] and not enable_onos | bool }}"
group: "neutron-dhcp-agent"
host_in_groups: "{{ inventory_hostname in groups['neutron-dhcp-agent'] }}"
volumes:
@ -93,7 +93,7 @@ neutron_services:
container_name: "neutron_l3_agent"
image: "{{ neutron_l3_agent_image_full }}"
privileged: True
enabled: "{{ neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] and not enable_opendaylight_l3 | bool }}"
enabled: "{{ neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] and not enable_opendaylight_l3 | bool and not enable_onos | bool }}"
host_in_groups: >-
{{
inventory_hostname in groups['neutron-l3-agent']
@ -133,7 +133,7 @@ neutron_services:
container_name: "neutron_metadata_agent"
image: "{{ neutron_metadata_agent_image_full }}"
privileged: True
enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] }}"
enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] and not enable_onos | bool }}"
host_in_groups: >-
{{
inventory_hostname in groups['neutron-metadata-agent']
@ -376,3 +376,9 @@ notification_drivers:
enabled: "{{ enable_opendaylight_qos | bool }}"
neutron_notification_drivers: "{{ notification_drivers|selectattr('enabled', 'equalto', true)|list }}"
############
# Onos
############
onos_url: "127.0.0.1"
onos_username: "username"

View File

@ -7,6 +7,8 @@ tenant_network_types = {{ neutron_tenant_network_types }}
{% if neutron_plugin_agent == "openvswitch" %}
{% if enable_hyperv | bool %}
mechanism_drivers = openvswitch,hyperv
{% elif enable_onos | bool %}
mechanism_drivers = onos_ml2
{% else %}
mechanism_drivers = openvswitch,l2population
{% endif %}
@ -34,6 +36,13 @@ password = {{ opendaylight_password }}
port_binding_controller = {{ opendaylight_port_binding_type }}
{% endif %}
{% if enable_onos | bool %}
[onos]
url_path = {{ onos_url }}
username = {{ onos_username }}
password = {{ onos_password }}
{% endif %}
[ml2_type_vlan]
{% if enable_ironic | bool %}
network_vlan_ranges = physnet1

View File

@ -38,6 +38,7 @@
when:
- inventory_hostname in groups["network"]
or (inventory_hostname in groups["compute"] and computes_need_external_bridge | bool )
- not enable_onos | bool
with_together:
- "{{ neutron_bridge_name.split(',') }}"
- "{{ neutron_external_interface.split(',') }}"

View File

@ -1,5 +1,5 @@
{
"command": "start-ovsdb-server 127.0.0.1",
"command": "start-ovsdb-server {% if enable_onos | bool %} 0.0.0.0 {% else %} 127.0.0.1 {% endif %}",
"config_files": [
{
"source": "{{ container_config_directory }}/start-ovsdb-server",

View File

@ -248,6 +248,7 @@ kolla_internal_vip_address: "10.10.10.254"
#enable_nova_fake: "no"
#enable_nova_serialconsole_proxy: "no"
#enable_octavia: "no"
#enable_onos: "no"
#enable_opendaylight: "no"
#enable_openvswitch: "{{ neutron_plugin_agent != 'linuxbridge' }}"
#enable_ovs_dpdk: "no"

View File

@ -259,3 +259,8 @@ xenserver_password:
####################
prometheus_mysql_exporter_database_password:
prometheus_alertmanager_password:
############
# Onos
############
onos_password:

View File

@ -0,0 +1,5 @@
---
features:
- |
Add onos support, Networking-onos is Neutrons sub-project to provide
connectivity between Neutron/Neutrons sub-projects and ONOS.