Add support for NSXV3
NSXV3 is the OpenStack support for the NSX Transformers platform. This is supported from neutron in the Mitaka version. This patch adds Kolla support This adds a new neutron_plugin_agent type 'vmware_nsxv3'. The plugin does not run any neutron agents. Change-Id: I1ecd7e5f3471e4ff03cfe8c9a3aff17af3fe1842
This commit is contained in:
parent
f7950466e3
commit
0ef27dd076
@ -155,7 +155,7 @@ bifrost_network_interface: "{{ network_interface }}"
|
|||||||
dns_interface: "{{ network_interface }}"
|
dns_interface: "{{ network_interface }}"
|
||||||
tunnel_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + tunnel_interface]['ipv4']['address'] }}"
|
tunnel_interface_address: "{{ hostvars[inventory_hostname]['ansible_' + tunnel_interface]['ipv4']['address'] }}"
|
||||||
|
|
||||||
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_dvs, opendaylight ]
|
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs, opendaylight ]
|
||||||
neutron_plugin_agent: "openvswitch"
|
neutron_plugin_agent: "openvswitch"
|
||||||
|
|
||||||
# Valid options are [ internal, infoblox ]
|
# Valid options are [ internal, infoblox ]
|
||||||
|
@ -80,7 +80,7 @@ neutron_services:
|
|||||||
container_name: "neutron_dhcp_agent"
|
container_name: "neutron_dhcp_agent"
|
||||||
image: "{{ neutron_dhcp_agent_image_full }}"
|
image: "{{ neutron_dhcp_agent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ neutron_plugin_agent != 'vmware_nsxv' }}"
|
enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] }}"
|
||||||
group: "neutron-dhcp-agent"
|
group: "neutron-dhcp-agent"
|
||||||
host_in_groups: "{{ inventory_hostname in groups['neutron-dhcp-agent'] }}"
|
host_in_groups: "{{ inventory_hostname in groups['neutron-dhcp-agent'] }}"
|
||||||
volumes:
|
volumes:
|
||||||
@ -93,7 +93,7 @@ neutron_services:
|
|||||||
container_name: "neutron_l3_agent"
|
container_name: "neutron_l3_agent"
|
||||||
image: "{{ neutron_l3_agent_image_full }}"
|
image: "{{ neutron_l3_agent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ neutron_plugin_agent not in ['vmware_nsxv', '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 }}"
|
||||||
host_in_groups: >-
|
host_in_groups: >-
|
||||||
{{
|
{{
|
||||||
inventory_hostname in groups['neutron-l3-agent']
|
inventory_hostname in groups['neutron-l3-agent']
|
||||||
@ -110,7 +110,7 @@ neutron_services:
|
|||||||
container_name: "neutron_lbaas_agent"
|
container_name: "neutron_lbaas_agent"
|
||||||
image: "{{ neutron_lbaas_agent_image_full }}"
|
image: "{{ neutron_lbaas_agent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ enable_neutron_lbaas | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_dvs'] }}"
|
enabled: "{{ enable_neutron_lbaas | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] }}"
|
||||||
group: "neutron-lbaas-agent"
|
group: "neutron-lbaas-agent"
|
||||||
host_in_groups: "{{ inventory_hostname in groups['neutron-lbaas-agent'] }}"
|
host_in_groups: "{{ inventory_hostname in groups['neutron-lbaas-agent'] }}"
|
||||||
volumes:
|
volumes:
|
||||||
@ -122,7 +122,7 @@ neutron_services:
|
|||||||
container_name: "neutron_sriov_agent"
|
container_name: "neutron_sriov_agent"
|
||||||
image: "{{ neutron_sriov_agent_image_full }}"
|
image: "{{ neutron_sriov_agent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ enable_neutron_sriov | bool and neutron_plugin_agent != 'vmware_nsxv' }}"
|
enabled: "{{ enable_neutron_sriov | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3' ] }}"
|
||||||
host_in_groups: "{{ inventory_hostname in groups['compute'] }}"
|
host_in_groups: "{{ inventory_hostname in groups['compute'] }}"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ node_config_directory }}/neutron-sriov-agent/:{{ container_config_directory }}/:ro"
|
- "{{ node_config_directory }}/neutron-sriov-agent/:{{ container_config_directory }}/:ro"
|
||||||
@ -133,7 +133,7 @@ neutron_services:
|
|||||||
container_name: "neutron_metadata_agent"
|
container_name: "neutron_metadata_agent"
|
||||||
image: "{{ neutron_metadata_agent_image_full }}"
|
image: "{{ neutron_metadata_agent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ neutron_plugin_agent != 'vmware_nsxv' }}"
|
enabled: "{{ neutron_plugin_agent not in [ 'vmware_nsxv', 'vmware_nsxv3' ] }}"
|
||||||
host_in_groups: >-
|
host_in_groups: >-
|
||||||
{{
|
{{
|
||||||
inventory_hostname in groups['neutron-metadata-agent']
|
inventory_hostname in groups['neutron-metadata-agent']
|
||||||
@ -149,7 +149,7 @@ neutron_services:
|
|||||||
container_name: "neutron_bgp_dragent"
|
container_name: "neutron_bgp_dragent"
|
||||||
image: "{{ neutron_bgp_dragent_image_full }}"
|
image: "{{ neutron_bgp_dragent_image_full }}"
|
||||||
privileged: True
|
privileged: True
|
||||||
enabled: "{{ enable_neutron_bgp_dragent | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_dvs'] }}"
|
enabled: "{{ enable_neutron_bgp_dragent | bool and neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] }}"
|
||||||
group: "neutron-bgp-dragent"
|
group: "neutron-bgp-dragent"
|
||||||
host_in_groups: "{{ inventory_hostname in groups['neutron-bgp-dragent'] }}"
|
host_in_groups: "{{ inventory_hostname in groups['neutron-bgp-dragent'] }}"
|
||||||
volumes:
|
volumes:
|
||||||
@ -336,6 +336,18 @@ vmware_nsxv_spoofguard_enabled: "false"
|
|||||||
vmware_nsxv_metadata_initializer: "false"
|
vmware_nsxv_metadata_initializer: "false"
|
||||||
vmware_nsxv_edge_ha: "false"
|
vmware_nsxv_edge_ha: "false"
|
||||||
|
|
||||||
|
####################
|
||||||
|
# VMware NSXV3
|
||||||
|
####################
|
||||||
|
nsxv3_metadata_proxy: "metadata proxy uuid"
|
||||||
|
nsxv3_dhcp_profile: "dhcp service uuid"
|
||||||
|
nsxv3_native_dhcp_metadata: "true"
|
||||||
|
nsxv3_api_user: "user"
|
||||||
|
nsxv3_api_managers: "127.0.0.1"
|
||||||
|
nsxv3_default_tier0_router: "tier0 router uuid"
|
||||||
|
nsxv3_default_vlan_tz: "vlan TZ uuid"
|
||||||
|
nsxv3_default_overlay_tz: "overlay TZ uuid"
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# VMware DVS
|
# VMware DVS
|
||||||
####################
|
####################
|
||||||
|
@ -341,7 +341,7 @@
|
|||||||
when:
|
when:
|
||||||
- neutron_server.enabled | bool
|
- neutron_server.enabled | bool
|
||||||
- neutron_server.host_in_groups | bool
|
- neutron_server.host_in_groups | bool
|
||||||
- neutron_plugin_agent in ['vmware_nsxv', 'vmware_dvs']
|
- neutron_plugin_agent in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs']
|
||||||
notify:
|
notify:
|
||||||
- "Restart {{ service_name }} container"
|
- "Restart {{ service_name }} container"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"command": "neutron-server --config-file /etc/neutron/neutron.conf {% if neutron_plugin_agent in ['openvswitch', 'linuxbridge', 'opendaylight'] %} --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/neutron_lbaas.conf --config-file /etc/neutron/neutron_vpnaas.conf {% elif neutron_plugin_agent in ['vmware_nsxv', 'vmware_dvs'] %} --config-file /etc/neutron/plugins/vmware/nsx.ini {% endif %} --config-file /etc/neutron/fwaas_driver.ini",
|
"command": "neutron-server --config-file /etc/neutron/neutron.conf {% if neutron_plugin_agent in ['openvswitch', 'linuxbridge', 'opendaylight'] %} --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/neutron_lbaas.conf --config-file /etc/neutron/neutron_vpnaas.conf {% elif neutron_plugin_agent in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] %} --config-file /etc/neutron/plugins/vmware/nsx.ini {% endif %} --config-file /etc/neutron/fwaas_driver.ini",
|
||||||
"config_files": [
|
"config_files": [
|
||||||
{
|
{
|
||||||
"source": "{{ container_config_directory }}/neutron.conf",
|
"source": "{{ container_config_directory }}/neutron.conf",
|
||||||
@ -45,12 +45,12 @@
|
|||||||
"owner": "neutron",
|
"owner": "neutron",
|
||||||
"perm": "0600",
|
"perm": "0600",
|
||||||
"optional": true
|
"optional": true
|
||||||
}{% if neutron_plugin_agent in ['vmware_nsxv', 'vmware_dvs'] -%},
|
}{% if neutron_plugin_agent in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs'] -%},
|
||||||
{
|
{
|
||||||
"source": "{{ container_config_directory }}/nsx.ini",
|
"source": "{{ container_config_directory }}/nsx.ini",
|
||||||
"dest": "/etc/neutron/plugins/vmware/nsx.ini",
|
"dest": "/etc/neutron/plugins/vmware/nsx.ini",
|
||||||
"owner": "neutron",
|
"owner": "neutron",
|
||||||
"optional": {{ (neutron_plugin_agent not in ['vmware_nsxv', 'vmware_dvs']) | string | lower }},
|
"optional": {{ (neutron_plugin_agent not in ['vmware_nsxv', 'vmware_nsxv3', 'vmware_dvs']) | string | lower }},
|
||||||
"perm": "0600"
|
"perm": "0600"
|
||||||
}{% endif %}
|
}{% endif %}
|
||||||
],
|
],
|
||||||
|
@ -39,6 +39,9 @@ allow_overlapping_ips = true
|
|||||||
|
|
||||||
{% if neutron_plugin_agent == 'vmware_nsxv' %}
|
{% if neutron_plugin_agent == 'vmware_nsxv' %}
|
||||||
core_plugin = vmware_nsx.plugin.NsxVPlugin
|
core_plugin = vmware_nsx.plugin.NsxVPlugin
|
||||||
|
{% elif neutron_plugin_agent == 'vmware_nsxv3' %}
|
||||||
|
core_plugin = vmware_nsx.plugin.NsxV3Plugin
|
||||||
|
dhcp_agent_notification = False
|
||||||
{% elif neutron_plugin_agent == 'vmware_dvs' %}
|
{% elif neutron_plugin_agent == 'vmware_dvs' %}
|
||||||
core_plugin = vmware_nsx.plugin.NsxDvsPlugin
|
core_plugin = vmware_nsx.plugin.NsxDvsPlugin
|
||||||
{% else %}
|
{% else %}
|
||||||
@ -63,6 +66,8 @@ dns_domain = {{ designate_ns_record }}.
|
|||||||
external_dns_driver = designate
|
external_dns_driver = designate
|
||||||
{% if neutron_plugin_agent == 'vmware_nsxv' %}
|
{% if neutron_plugin_agent == 'vmware_nsxv' %}
|
||||||
nsx_extension_drivers = vmware_nsxv_dns
|
nsx_extension_drivers = vmware_nsxv_dns
|
||||||
|
{% elif neutron_plugin_agent == 'vmware_nsxv3' %}
|
||||||
|
nsx_extension_drivers = vmware_nsxv3_dns
|
||||||
{% elif neutron_plugin_agent == 'vmware_dvs' %}
|
{% elif neutron_plugin_agent == 'vmware_dvs' %}
|
||||||
nsx_extension_drivers = vmware_dvs_dns
|
nsx_extension_drivers = vmware_dvs_dns
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -15,6 +15,17 @@ backup_edge_pool = {{ vmware_nsxv_backup_edge_pool }}
|
|||||||
spoofguard_enabled = {{ vmware_nsxv_spoofguard_enabled }}
|
spoofguard_enabled = {{ vmware_nsxv_spoofguard_enabled }}
|
||||||
metadata_initializer = {{ vmware_nsxv_metadata_initializer }}
|
metadata_initializer = {{ vmware_nsxv_metadata_initializer }}
|
||||||
edge_ha = {{ vmware_nsxv_edge_ha }}
|
edge_ha = {{ vmware_nsxv_edge_ha }}
|
||||||
|
{% elif neutron_plugin_agent == 'vmware_nsxv3' %}
|
||||||
|
[nsx_v3]
|
||||||
|
metadata_proxy = {{ nsxv3_metadata_proxy }}
|
||||||
|
dhcp_profile = {{ nsxv3_dhcp_profile }}
|
||||||
|
native_dhcp_metadata = {{ nsxv3_native_dhcp_metadata }}
|
||||||
|
nsx_api_password = {{ nsxv3_api_password }}
|
||||||
|
nsx_api_user = {{ nsxv3_api_user }}
|
||||||
|
nsx_api_managers = {{ nsxv3_api_managers }}
|
||||||
|
default_tier0_router = {{ nsxv3_default_tier0_router }}
|
||||||
|
default_vlan_tz = {{ nsxv3_default_vlan_tz }}
|
||||||
|
default_overlay_tz = {{ nsxv3_default_overlay_tz }}
|
||||||
{% elif neutron_plugin_agent == 'vmware_dvs' %}
|
{% elif neutron_plugin_agent == 'vmware_dvs' %}
|
||||||
[dvs]
|
[dvs]
|
||||||
host_ip = {{ vmware_dvs_host_ip }}
|
host_ip = {{ vmware_dvs_host_ip }}
|
||||||
|
@ -260,3 +260,4 @@ nova_enabled_notification_topics: "{{ nova_notification_topics | selectattr('ena
|
|||||||
# VMware
|
# VMware
|
||||||
####################
|
####################
|
||||||
vmware_vcenter_datastore_regex: ".*"
|
vmware_vcenter_datastore_regex: ".*"
|
||||||
|
ovs_bridge: "nsx-managed"
|
||||||
|
@ -142,7 +142,9 @@ os_region_name = {{ openstack_region_name }}
|
|||||||
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}
|
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}
|
||||||
metadata_proxy_shared_secret = {{ metadata_secret }}
|
metadata_proxy_shared_secret = {{ metadata_secret }}
|
||||||
service_metadata_proxy = true
|
service_metadata_proxy = true
|
||||||
|
{% if neutron_plugin_agent == 'vmware_nsxv3' %}
|
||||||
|
ovs_bridge = {{ ovs_bridge }}
|
||||||
|
{% endif %}
|
||||||
auth_url = {{ keystone_admin_url }}
|
auth_url = {{ keystone_admin_url }}
|
||||||
auth_type = password
|
auth_type = password
|
||||||
project_domain_name = {{ default_project_domain_name }}
|
project_domain_name = {{ default_project_domain_name }}
|
||||||
|
@ -99,7 +99,8 @@ kolla_internal_vip_address: "10.10.10.254"
|
|||||||
# addresses for that reason.
|
# addresses for that reason.
|
||||||
#neutron_external_interface: "eth1"
|
#neutron_external_interface: "eth1"
|
||||||
|
|
||||||
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_dvs, opendaylight ]
|
# Valid options are [ openvswitch, linuxbridge, vmware_nsxv, vmware_nsxv3, vmware_dvs, opendaylight ]
|
||||||
|
# if vmware_nsxv3 is selected, enable_openvswitch MUST be set to "no" (default is yes)
|
||||||
#neutron_plugin_agent: "openvswitch"
|
#neutron_plugin_agent: "openvswitch"
|
||||||
|
|
||||||
# Valid options are [ internal, infoblox ]
|
# Valid options are [ internal, infoblox ]
|
||||||
|
@ -33,6 +33,7 @@ opendaylight_password:
|
|||||||
vmware_dvs_host_password:
|
vmware_dvs_host_password:
|
||||||
vmware_nsxv_password:
|
vmware_nsxv_password:
|
||||||
vmware_vcenter_host_password:
|
vmware_vcenter_host_password:
|
||||||
|
nsxv3_api_password:
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
# Hitachi NAS support
|
# Hitachi NAS support
|
||||||
|
3
releasenotes/notes/nsxv3-support-0bd45afcb7e71cc5.yaml
Normal file
3
releasenotes/notes/nsxv3-support-0bd45afcb7e71cc5.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Add support for the VMware NSX Transformers plugin
|
Loading…
Reference in New Issue
Block a user