Add Networking-SFC role
Networking-SFC is a neutron big-tent project support Service Function Chaining in Neutron. * Rename the image from neutron-networking-sfc-agent to neutron-sfc-agent. * Add networking-sfc role in playbooks. Co-Authored-by: Jeffrey Zhang <zhang.lei.fly@gmail.com> Change-Id: I1f99650eed85f59929d4ab6b2226603c54f29577 Implements: blueprint enable-networking-sfc-support
This commit is contained in:
parent
1109c25b60
commit
8a01ed3270
@ -110,7 +110,7 @@ tunnel_interface: "{{ network_interface }}"
|
||||
bifrost_network_interface: "{{ network_interface }}"
|
||||
|
||||
|
||||
# Valid options are [ openvswitch, linuxbridge ]
|
||||
# Valid options are [ openvswitch, linuxbridge, sfc ]
|
||||
neutron_plugin_agent: "openvswitch"
|
||||
|
||||
# The default ports used by each service.
|
||||
|
@ -36,6 +36,10 @@ neutron_openvswitch_agent_image: "{{ docker_registry ~ '/' if docker_registry el
|
||||
neutron_openvswitch_agent_tag: "{{ openstack_release }}"
|
||||
neutron_openvswitch_agent_image_full: "{{ neutron_openvswitch_agent_image }}:{{ neutron_openvswitch_agent_tag }}"
|
||||
|
||||
neutron_sfc_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-sfc-agent"
|
||||
neutron_sfc_agent_tag: "{{ openstack_release }}"
|
||||
neutron_sfc_agent_image_full: "{{ neutron_sfc_agent_image }}:{{ neutron_sfc_agent_tag }}"
|
||||
|
||||
neutron_server_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-server"
|
||||
neutron_server_tag: "{{ openstack_release }}"
|
||||
neutron_server_image_full: "{{ neutron_server_image }}:{{ neutron_server_tag }}"
|
||||
|
@ -109,6 +109,36 @@
|
||||
)
|
||||
- neutron_plugin_agent == "openvswitch"
|
||||
|
||||
- name: Starting neutron-sfc-agent container
|
||||
kolla_docker:
|
||||
action: "start_container"
|
||||
common_options: "{{ docker_common_options }}"
|
||||
image: "{{ neutron_sfc_agent_image_full }}"
|
||||
name: "neutron_sfc_agent"
|
||||
privileged: True
|
||||
volumes:
|
||||
- "{{ node_config_directory }}/neutron-sfc-agent/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/lib/modules:/lib/modules:ro"
|
||||
- "/run:/run"
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
when:
|
||||
- (
|
||||
( inventory_hostname in groups['compute']
|
||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||
or inventory_hostname in groups['neutron-l3-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent']
|
||||
and not enable_nova_fake | bool
|
||||
) or
|
||||
( inventory_hostname in groups['neutron-dhcp-agent']
|
||||
or inventory_hostname in groups['neutron-l3-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent']
|
||||
and enable_nova_fake | bool
|
||||
)
|
||||
)
|
||||
- neutron_plugin_agent == "sfc"
|
||||
|
||||
- name: Starting neutron-openvswitch-agent container for fake nova compute
|
||||
kolla_docker:
|
||||
action: "start_container"
|
||||
@ -128,6 +158,25 @@
|
||||
- neutron_plugin_agent == "openvswitch"
|
||||
- enable_nova_fake | bool
|
||||
|
||||
- name: Starting neutron-sfc-agent container for fake nova compute
|
||||
kolla_docker:
|
||||
action: "start_container"
|
||||
common_options: "{{ docker_common_options }}"
|
||||
image: "{{ neutron_sfc_agent_image_full }}"
|
||||
name: "neutron_sfc_agent_fake_{{ item }}"
|
||||
privileged: True
|
||||
volumes:
|
||||
- "{{ node_config_directory }}/neutron-sfc-agent-fake-{{ item }}/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/lib/modules:/lib/modules:ro"
|
||||
- "/run:/run"
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
with_sequence: start=1 end={{ num_nova_fake_per_node }}
|
||||
when:
|
||||
- inventory_hostname in groups['compute']
|
||||
- neutron_plugin_agent == "sfc"
|
||||
- enable_nova_fake | bool
|
||||
|
||||
- name: Starting neutron-linuxbridge-agent container
|
||||
kolla_docker:
|
||||
action: "start_container"
|
||||
|
@ -35,7 +35,7 @@ host = {{ ansible_hostname }}_{{ item }}
|
||||
|
||||
allow_overlapping_ips = true
|
||||
core_plugin = ml2
|
||||
service_plugins = router{% if enable_neutron_lbaas | bool %},neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2{% endif %}{% if enable_neutron_qos | bool %},qos{% endif %}
|
||||
service_plugins = router{% if enable_neutron_lbaas | bool %},lbaas{% endif %}{% if enable_neutron_qos | bool %},qos{% endif %},{% if neutron_plugin_agent == "sfc" %}flow_classifier,sfc{% endif %}
|
||||
|
||||
{% if enable_neutron_agent_ha | bool %}
|
||||
dhcp_agents_per_network = {{ dhcp_agents_per_network }}
|
||||
@ -100,3 +100,9 @@ topics = notifications
|
||||
{% else %}
|
||||
driver = noop
|
||||
{% endif %}
|
||||
|
||||
{% if neutron_plugin_agent == "sfc" %}
|
||||
[sfc]
|
||||
drivers = ovs
|
||||
[flowclassifier]
|
||||
{% endif %}
|
||||
|
@ -10,10 +10,10 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
|
||||
|
||||
{% elif install_type == 'source' %}
|
||||
|
||||
ADD neutron-networking-sfc-agent-archive /neutron-networking-sfc-agent-source
|
||||
RUN ln -s neutron-networking-sfc-agent-source/* neutron_networking-sfc-agent \
|
||||
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /neutron_networking-sfc-agent \
|
||||
&& cp /neutron_networking-sfc-agent/etc/neutron/rootwrap.d/* /etc/neutron/rootwrap.d \
|
||||
ADD neutron-sfc-agent-archive /neutron-sfc-agent-source
|
||||
RUN ln -s neutron-sfc-agent-source/* neutron-sfc-agent \
|
||||
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /neutron-sfc-agent \
|
||||
&& cp /neutron-sfc-agent/etc/neutron/rootwrap.d/* /etc/neutron/rootwrap.d \
|
||||
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/neutron/rootwrap.conf
|
||||
|
||||
{% endif %}
|
||||
@ -21,7 +21,7 @@ RUN ln -s neutron-networking-sfc-agent-source/* neutron_networking-sfc-agent \
|
||||
COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start
|
||||
RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start
|
||||
|
||||
{% block neutron_networking_sfc_agent_footer %}{% endblock %}
|
||||
{% block neutron_sfc_agent_footer %}{% endblock %}
|
||||
{% block footer %}{% endblock %}
|
||||
{{ include_footer }}
|
||||
|
@ -241,7 +241,7 @@ SOURCES = {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/neutron-lbaas/'
|
||||
'neutron-lbaas-master.tar.gz')},
|
||||
'neutron-networking-sfc-agent': {
|
||||
'neutron-sfc-agent': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/networking-sfc/'
|
||||
'networking-sfc-master.tar.gz')},
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- Add neutron Service Function Chaining (sfc) support. Service Function
|
||||
Chaining is a mechanism for overriding the basic destination based
|
||||
forwarding that is typical of IP networks
|
@ -66,7 +66,7 @@ class BuildTest(object):
|
||||
|
||||
class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
|
||||
excluded_images = ["kuryr",
|
||||
"neutron-networking-sfc-agent",
|
||||
"neutron-sfc-agent",
|
||||
"senlin-base",
|
||||
"vmtp",
|
||||
"watcher-base",
|
||||
@ -94,7 +94,7 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
|
||||
# package, just add neutron-lbaas-agent into the exclude_image. Once they
|
||||
# fix it, this should be reverted.
|
||||
excluded_images = ["kuryr",
|
||||
"neutron-networking-sfc-agent",
|
||||
"neutron-sfc-agent",
|
||||
"neutron-lbaas-agent",
|
||||
"senlin-base",
|
||||
"vmtp",
|
||||
@ -121,7 +121,7 @@ class BuildTestUbuntuSource(BuildTest, base.BaseTestCase):
|
||||
|
||||
class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
|
||||
excluded_images = ["kuryr",
|
||||
"neutron-networking-sfc-agent",
|
||||
"neutron-sfc-agent",
|
||||
"senlin-base",
|
||||
"vmtp",
|
||||
"watcher-base",
|
||||
|
Loading…
Reference in New Issue
Block a user