Merge "Introduce variable to allow different DVR modes"
This commit is contained in:
commit
21acfde7ba
@ -638,7 +638,9 @@ neutron_type_drivers: "flat,vlan,vxlan"
|
|||||||
# NOTE: for ironic this list should also contain 'flat'
|
# NOTE: for ironic this list should also contain 'flat'
|
||||||
neutron_tenant_network_types: "vxlan"
|
neutron_tenant_network_types: "vxlan"
|
||||||
|
|
||||||
computes_need_external_bridge: "{{ enable_neutron_dvr | bool or enable_neutron_provider_networks | bool or enable_opendaylight | bool and neutron_plugin_agent != 'vmware_dvs' }}"
|
# 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' }}"
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# Nova options
|
# Nova options
|
||||||
|
@ -7,11 +7,15 @@ localhost ansible_connection=local
|
|||||||
localhost ansible_connection=local
|
localhost ansible_connection=local
|
||||||
|
|
||||||
# inner-compute is the groups of compute nodes which do not have
|
# inner-compute is the groups of compute nodes which do not have
|
||||||
# external reachability
|
# external reachability.
|
||||||
|
# DEPRECATED, the group will be removed in S release of OpenStack,
|
||||||
|
# use variable neutron_compute_dvr_mode instead.
|
||||||
[inner-compute]
|
[inner-compute]
|
||||||
|
|
||||||
# external-compute is the groups of compute nodes which can reach
|
# external-compute is the groups of compute nodes which can reach
|
||||||
# outside
|
# outside.
|
||||||
|
# DEPRECATED, the group will be removed in S release of OpenStack,
|
||||||
|
# use variable neutron_compute_dvr_mode instead.
|
||||||
[external-compute]
|
[external-compute]
|
||||||
localhost ansible_connection=local
|
localhost ansible_connection=local
|
||||||
|
|
||||||
|
@ -16,11 +16,15 @@ network01
|
|||||||
network02
|
network02
|
||||||
|
|
||||||
# inner-compute is the groups of compute nodes which do not have
|
# inner-compute is the groups of compute nodes which do not have
|
||||||
# external reachability
|
# external reachability.
|
||||||
|
# DEPRECATED, the group will be removed in S release of OpenStack,
|
||||||
|
# use variable neutron_compute_dvr_mode instead.
|
||||||
[inner-compute]
|
[inner-compute]
|
||||||
|
|
||||||
# external-compute is the groups of compute nodes which can reach
|
# external-compute is the groups of compute nodes which can reach
|
||||||
# outside
|
# outside.
|
||||||
|
# DEPRECATED, the group will be removed in S release of OpenStack,
|
||||||
|
# use variable neutron_compute_dvr_mode instead.
|
||||||
[external-compute]
|
[external-compute]
|
||||||
compute01
|
compute01
|
||||||
|
|
||||||
|
@ -47,3 +47,13 @@
|
|||||||
when: item not in type_drivers
|
when: item not in type_drivers
|
||||||
run_once: true
|
run_once: true
|
||||||
with_items: "{{ tenant_network_types }}"
|
with_items: "{{ tenant_network_types }}"
|
||||||
|
|
||||||
|
- name: Checking for deprecated inner- and external-compute groups
|
||||||
|
local_action:
|
||||||
|
module: debug
|
||||||
|
msg: "WARNING: inner- and external-compute groups are DEPRECATED"
|
||||||
|
changed_when: false
|
||||||
|
run_once: True
|
||||||
|
when:
|
||||||
|
- (groups['inner-compute'] | default([]) | length > 0
|
||||||
|
or groups['external-compute'] | default([]) | length > 0)
|
||||||
|
@ -7,6 +7,8 @@ agent_mode = dvr_snat
|
|||||||
agent_mode = dvr
|
agent_mode = dvr
|
||||||
{% elif inventory_hostname in groups['inner-compute'] %}
|
{% elif inventory_hostname in groups['inner-compute'] %}
|
||||||
agent_mode = dvr_no_external
|
agent_mode = dvr_no_external
|
||||||
|
{% elif inventory_hostname in groups['compute'] %}
|
||||||
|
agent_mode = {{ neutron_compute_dvr_mode }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
agent_mode = legacy
|
agent_mode = legacy
|
||||||
|
23
releasenotes/notes/dvr-mode-property-13b3699f9a9c4359.yaml
Normal file
23
releasenotes/notes/dvr-mode-property-13b3699f9a9c4359.yaml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
[`blueprint Replace inner-/external computes with a dvr mode variable <https://blueprints.launchpad.net/kolla-ansible/+spec/dvr_mode_property>`_]
|
||||||
|
A new variable "neutron_compute_dvr_mode" is introduced. This variable
|
||||||
|
controls whether a compute host has external connection and is
|
||||||
|
allowed to do full-blown DVR or distributed routing is only used for
|
||||||
|
tenant networking. Corresponding values are "dvr" and "dvr_no_external"
|
||||||
|
The variable has to be set either globally or per group (per host)
|
||||||
|
to get desired behavior.
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
All hosts from "[inner-compute]" and "[external-compute]" can be moved to
|
||||||
|
"[compute]" to avoid problems in OpenStack S release, though the groups
|
||||||
|
still will function well in this release.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
Splitting of compute group into inner and external compute hosts is
|
||||||
|
deprecated and will be removed in OpenStack S release.
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
External bridge setup on compute hosts that depends on whether DVR mode
|
||||||
|
is enabled is also accompanied by a check for the new variable.
|
@ -10,21 +10,11 @@
|
|||||||
{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_become=true ansible_user={{ hostvars[host]['ansible_user'] }}
|
{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_become=true ansible_user={{ hostvars[host]['ansible_user'] }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
# inner-compute is the groups of compute nodes which do not have
|
[compute]
|
||||||
# external reachability
|
|
||||||
[inner-compute]
|
|
||||||
|
|
||||||
# external-compute is the groups of compute nodes which can reach
|
|
||||||
# outside
|
|
||||||
[external-compute]
|
|
||||||
{% for host in hostvars %}
|
{% for host in hostvars %}
|
||||||
{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_become=true ansible_user={{ hostvars[host]['ansible_user'] }}
|
{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_become=true ansible_user={{ hostvars[host]['ansible_user'] }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
[compute:children]
|
|
||||||
inner-compute
|
|
||||||
external-compute
|
|
||||||
|
|
||||||
[storage]
|
[storage]
|
||||||
{% for host in hostvars %}
|
{% for host in hostvars %}
|
||||||
{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_become=true ansible_user={{ hostvars[host]['ansible_user'] }}
|
{{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_become=true ansible_user={{ hostvars[host]['ansible_user'] }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user