Merge "Remove support for calico ml2 driver."

This commit is contained in:
Zuul 2022-12-09 11:02:23 +00:00 committed by Gerrit Code Review
commit fa974be047
14 changed files with 1 additions and 387 deletions

View File

@ -59,8 +59,6 @@ neutron_vpnaas_git_repo: https://opendev.org/openstack/neutron-vpnaas
neutron_vpnaas_git_install_branch: master
neutron_dynamic_routing_git_repo: https://opendev.org/openstack/neutron-dynamic-routing
neutron_dynamic_routing_git_install_branch: master
networking_calico_git_repo: https://github.com/projectcalico/networking-calico
networking_calico_git_install_branch: master
networking_odl_git_repo: https://opendev.org/openstack/networking-odl
networking_odl_git_install_branch: master
networking_sfc_git_repo: https://opendev.org/openstack/networking-sfc
@ -143,10 +141,6 @@ neutron_dnsmasq_noresolv: False
neutron_api_paste_ini_overrides: {}
neutron_bgp_dragent_ini_overrides: {}
neutron_bgp_dragent_init_overrides: {}
neutron_calico_dhcp_agent_ini_overrides: {}
neutron_calico_dhcp_agent_init_overrides: {}
neutron_calico_felix_ini_overrides: {}
neutron_calico_felix_init_overrides: {}
neutron_dhcp_agent_ini_overrides: {}
neutron_dhcp_agent_init_overrides: {}
neutron_ironic_neutron_agent_ini_overrides: {}
@ -192,7 +186,7 @@ neutron_ovn_metadata_agent_init_overrides: {}
### UWSGI
###
# NOTE(noonedeadpunk): uWSGI is still not fully supported. See: https://bugs.launchpad.net/neutron/+bug/1912359
neutron_use_uwsgi: "{{ (neutron_plugin_type not in ['ml2.ovn', 'ml2.calico']) }}"
neutron_use_uwsgi: "{{ (neutron_plugin_type not in ['ml2.ovn']) }}"
neutron_wsgi_processes_max: 16
neutron_wsgi_processes: "{{ [[ansible_processor_vcpus|default(1), 1] | max * 2, neutron_wsgi_processes_max] | min }}"
neutron_wsgi_threads: 1
@ -474,12 +468,6 @@ neutron_vpnaas_service_provider: "{{ _neutron_vpnaas_service_provider }}"
neutron_vpnaas_custom_config: []
# Calico Felix agent upstream settings
calico_felix_url: "https://github.com/projectcalico/felix/releases/download/{{ calico_felix_version }}/calico-felix-amd64"
calico_felix_version: v3.21.2
calico_felix_sha256: 076936b985379fb8221db9b9a798714f6f97429a630da9c46da89bfcb0f84d81
calico_felix_validate_certs: yes
# OVN Defaults
neutron_ovn_ssl: True
ovn_proto: "{{ (neutron_ovn_ssl) | ternary('ssl','tcp') }}"

View File

@ -1,89 +0,0 @@
=====================================================
Scenario - Using the networking-calico Neutron plugin
=====================================================
Introduction
~~~~~~~~~~~~
This document describes the steps required to deploy Project Calico Neutron
networking with OpenStack-Ansible (OSA). These steps include:
- Configure OSA environment overrides.
- Configure OSA user variables.
- Execute the playbooks.
For additional configuration about Project Calico and its architecture, please
reference the `networking-calico`_ and `Project Calico`_ documentation.
.. _networking-calico: https://docs.openstack.org/networking-calico/latest/
.. _Project Calico: https://docs.projectcalico.org/en/latest/index.html
Prerequisites
~~~~~~~~~~~~~
#. The deployment environment has been configured according to OSA
best-practices. This includes cloning OSA software and bootstrapping
Ansible. See `OpenStack-Ansible Install Guide <index.html>`_
#. BGP peers configured to accept routing announcements from your hypervisors.
By default, the hypervisor's default router is set as the BGP peer.
Configure OSA Environment for Project Calico
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add hosts to the ``/etc/openstack_deploy/conf.d/etcd.conf`` configuration file
to add container hosts for the etcd cluster. See
``etc/openstack_deploy/conf.d/etcd.conf.example`` in the openstack-ansible repo
or adjust the example below to match your infrastructure hosts:
.. code-block:: yaml
etcd_hosts:
infra1:
ip: 172.20.236.111
infra2:
ip: 172.20.236.112
infra3:
ip: 172.20.236.113
Copy the neutron environment overrides to
``/etc/openstack_deploy/env.d/neutron.yml`` to disable the creation of the
neutron agents container, and implement the calico-dhcp-agent hosts group
containing all compute hosts.
.. code-block:: yaml
component_skel:
neutron_calico_dhcp_agent:
belongs_to:
- neutron_all
container_skel:
neutron_agents_container:
contains: {}
neutron_calico_dhcp_agent_container:
belongs_to:
- compute_containers
contains:
- neutron_calico_dhcp_agent
properties:
is_metal: true
service_name: neutron
Configure networking-calico Neutron Plugin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set the following in ``/etc/openstack_deploy/user_variables.yml``.
.. code-block:: yaml
neutron_plugin_type: ml2.calico
nova_network_type: calico
Installation
~~~~~~~~~~~~
After multi-node OpenStack cluster is configured as detailed above; start
the OpenStack deployment as listed in the OpenStack-Ansible Install guide by
running all playbooks in sequence on the deployment host

View File

@ -14,7 +14,6 @@ Neutron role for OpenStack-Ansible
app-ovn.rst
app-nuage.rst
app-nsx.rst
app-calico.rst
app-opendaylight.rst
app-genericswitch.rst

View File

@ -13,20 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Include etcd role
include_role:
name: etcd
vars:
etcd_install_type: gateway
when:
- "neutron_plugin_type in ['ml2.calico']"
- "group_names | intersect([
neutron_services['calico-dhcp-agent']['group'],
neutron_services['calico-felix']['group'],
neutron_services['neutron-server']['group']
]) | length > 0"
- "'etcd' not in group_names"
- name: Include ODL role
include_role:
name: opendaylight

View File

@ -1,43 +0,0 @@
---
# Copyright 2016, Logan Vig <logan2211@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Install Calico Felix agent
get_url:
url: "{{ calico_felix_url }}"
dest: "{{ calico_felix_bin }}"
sha256sum: "{{ calico_felix_sha256 }}"
validate_certs: "{{ calico_felix_validate_certs }}"
mode: '0755'
register: install_packages
until: install_packages is success
retries: 5
delay: 2
when:
- "neutron_services['calico-felix']['group'] in group_names"
notify: Restart neutron services
tags:
- calico-install
- name: Ensure calico config directory exists
file:
path: "/etc/calico"
state: directory
owner: "root"
group: "root"
mode: "0644"
when:
- neutron_services['calico-felix']['group'] in group_names
tags:
- calico-config

View File

@ -1,77 +0,0 @@
[all]
localhost
infra1
server1
server2
agents1
agents2
[physical_host]
localhost
[all_containers]
infra1
server1
server2
agents1
agents2
[oslomsg_rpc_all]
infra1
[oslomsg_notify_all]
infra1
[rabbitmq_all]
infra1
[galera_all]
infra1
[memcached_all]
infra1
[etcd_all]
infra1
[etcd:children]
etcd_all
[service_all:children]
rabbitmq_all
galera_all
memcached_all
etcd_all
[keystone_all]
infra1
[neutron_calico_dhcp_agent]
agents1
agents2
[neutron_server]
server1
server2
[neutron_agent]
[neutron_dhcp_agent]
[neutron_linuxbridge_agent]
[neutron_openvswitch_agent]
[neutron_metering_agent]
[neutron_l3_agent]
[neutron_metadata_agent]
[neutron_all:children]
neutron_agent
neutron_dhcp_agent
neutron_linuxbridge_agent
neutron_openvswitch_agent
neutron_metering_agent
neutron_l3_agent
neutron_metadata_agent
neutron_server
neutron_calico_dhcp_agent
[utility_all]
infra1

View File

@ -69,8 +69,6 @@ agents2
server1
server2
[neutron_calico_dhcp_agent]
[neutron_all:children]
neutron_agent
neutron_dhcp_agent

View File

@ -1,35 +0,0 @@
---
# Copyright 2016, Logan Vig <logan2211@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
tempest_run: yes
tempest_plugins:
- name: neutron-plugins
repo: https://opendev.org/openstack/neutron-tempest-plugin
branch: master
tempest_test_whitelist:
- "neutron_tempest_plugin.api.test_networks*"
tempest_private_net_provider_type: "local"
tempest_private_net_seg_id: ''
tempest_public_net_provider_type: "local"
tempest_public_net_physical_type: ''
tempest_network_ping_gateway: False
neutron_plugin_type: ml2.calico
neutron_provider_networks:
network_types: ''

View File

@ -1,50 +0,0 @@
---
# Copyright 2016, Logan Vig <logan2211@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Test calico
hosts: neutron_calico_dhcp_agent
user: root
gather_facts: true
tasks:
- name: Ensure Calico services are running
command: pgrep -a {{ item }}
with_items:
- calico-felix
- calico-dhcp-age
tags:
- skip_ansible_lint
when:
- "neutron_plugin_type == 'ml2.calico'"
- name: Ensure that the Calico Felix agent is alive
command: openstack --os-cloud default network agent list -f json
register: calico_felix_agent
until: |-
ansible_nodename in (calico_felix_agent.stdout
| from_json
| selectattr('Binary', 'equalto', 'calico-felix')
| map(attribute='Host') | list)
retries: 5
delay: 10
with_items: "{{ ansible_play_hosts }}"
delegate_to: "{{ groups['utility_all'][0] }}"
run_once: yes
tags:
- skip_ansible_lint
when:
- "neutron_plugin_type == 'ml2.calico'"
vars_files:
- common/test-vars.yml

View File

@ -33,5 +33,3 @@
# Install and execute tempest
- import_playbook: common/test-install-tempest.yml
- import_playbook: test-calico-functional.yml

View File

@ -102,15 +102,6 @@ setenv =
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:calico]
basepython = python3
setenv =
{[testenv]setenv}
ANSIBLE_INVENTORY={toxinidir}/tests/calico_inventory
ANSIBLE_OVERRIDES={toxinidir}/tests/neutron-overrides-calico.yml
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:linters]
basepython = python3
commands =

View File

@ -25,9 +25,6 @@ neutron_needs_openvswitch: >-
or (neutron_services['neutron-server']['group'] in group_names and (neutron_plugin_type == 'ml2.ovn') | bool)
or ((neutron_services['neutron-server']['group'] not in group_names) and neutron_plugin_type == 'ml2.opendaylight') }}
# Set the Calico Felix agent executable destination path
calico_felix_bin: /usr/local/bin/calico-felix
###
### Python code details
###
@ -48,11 +45,6 @@ neutron_optional_oslomsg_amqp1_pip_packages:
neutron_optional_bgp_pip_packages:
- "git+{{ neutron_dynamic_routing_git_repo }}@{{ neutron_dynamic_routing_git_install_branch }}#egg=neutron-dynamic-routing"
neutron_optional_calico_pip_packages:
- "git+{{ networking_calico_git_repo }}@{{ networking_calico_git_install_branch }}#egg=networking-calico"
- python-etcd
- etcd3gw
neutron_optional_fwaas_pip_packages:
- "git+{{ neutron_fwaas_git_repo }}@{{ neutron_fwaas_git_install_branch }}#egg=neutron-fwaas"
@ -99,12 +91,6 @@ neutron_venv_packages: >-
{%- if neutron_oslomsg_amqp1_enabled | bool %}
{%- set _ = pkg_list.extend(neutron_optional_oslomsg_amqp1_pip_packages) %}
{%- endif %}
{%- if (neutron_plugin_type.split('.')[-1] == 'calico') and
((neutron_services['neutron-server']['group'] in group_names) or
(neutron_services['calico-felix']['group'] in group_names) or
(neutron_services['calico-dhcp-agent']['group'] in group_names)) %}
{%- set _ = pkg_list.extend(neutron_optional_calico_pip_packages) %}
{%- endif %}
{%- if (neutron_plugin_type.split('.')[-1] == 'nuage') and
(neutron_services['neutron-server']['group'] in group_names) %}
{%- set _ = pkg_list.extend(neutron_optional_nuage_pip_packages) %}
@ -197,12 +183,6 @@ neutron_plugins:
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
plugin_core: ml2
plugin_ini: plugins/ml2/ml2_conf.ini
ml2.calico:
drivers_type: "flat, local"
mechanisms: "calico"
plugin_conf_ini_overrides: "{{ neutron_ml2_conf_ini_overrides }}"
plugin_core: ml2
plugin_ini: plugins/ml2/ml2_conf.ini
nuage:
plugin_core: nuage_neutron.plugins.nuage.plugin.NuagePlugin
plugin_ini: plugins/nuage/nuage.ini
@ -494,31 +474,6 @@ neutron_services:
init_config_overrides: "{{ neutron_rpc_server_init_overrides | combine(neutron_server_init_overrides) }}"
start_order: 2
execstarts: "{{ neutron_bin }}/neutron-rpc-server --config-file {{ neutron_conf_dir }}/neutron.conf --config-file {{ neutron_conf_dir }}/{{ neutron_plugins[neutron_plugin_type].plugin_ini }}{%- if ('ml2.genericswitch' in neutron_plugin_types) %} --config-file {{ neutron_conf_dir }}/{{ neutron_plugins['ml2.genericswitch'].plugin_ini }}{%- endif %}"
calico-felix:
group: neutron_calico_dhcp_agent
systemd_user_name: root
systemd_group_name: root
service_name: calico-felix
service_en: "{{ neutron_plugin_type == 'ml2.calico' }}"
service_conf_path: /etc/calico
service_conf: felix.cfg
execstarts: "{{ calico_felix_bin }} --config-file /etc/calico/felix.cfg"
config_overrides: "{{ neutron_calico_felix_ini_overrides }}"
config_type: "ini"
init_config_overrides: "{{ neutron_calico_felix_init_overrides }}"
start_order: 3
calico-dhcp-agent:
group: neutron_calico_dhcp_agent
systemd_user_name: root
systemd_group_name: root
service_name: calico-dhcp-agent
service_en: "{{ neutron_plugin_type == 'ml2.calico' }}"
service_rootwrap: rootwrap.d/dhcp.filters
execstarts: "{{ neutron_bin }}/calico-dhcp-agent --config-file {{ neutron_conf_dir }}/neutron.conf"
config_overrides: "{{ neutron_calico_dhcp_agent_ini_overrides }}"
config_type: "ini"
init_config_overrides: "{{ neutron_calico_dhcp_agent_init_overrides }}"
start_order: 3
neutron-sriov-nic-agent:
group: neutron_sriov_nic_agent
service_name: neutron-sriov-nic-agent

View File

@ -34,11 +34,6 @@
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-focal
- job:
name: openstack-ansible-deploy-aio_metal_calico-ubuntu-focal
parent: openstack-ansible-deploy-aio_metal-ubuntu-focal
nodeset: ubuntu-focal
# CentOS 9
- job:
name: openstack-ansible-deploy-aio_ovs_lxc-centos-9-stream

View File

@ -23,8 +23,6 @@
- build-release-notes-jobs-python3
check:
jobs:
- openstack-ansible-deploy-aio_metal_calico-ubuntu-focal:
voting: false
- openstack-ansible-deploy-aio_ovs_lxc-ubuntu-focal
- openstack-ansible-deploy-aio_metal_ovs-ubuntu-focal
- openstack-ansible-deploy-aio_ovs_lxc-centos-9-stream