diff --git a/0001-Create-executable-for-removing-patch-ports.patch b/0001-Create-executable-for-removing-patch-ports.patch deleted file mode 100644 index 47f23fdfb6ac0a2b65e0fa94e773fc3fd41fa335..0000000000000000000000000000000000000000 --- a/0001-Create-executable-for-removing-patch-ports.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 9238592fcb2238bfd34d9c0b414573cb6f3d9582 Mon Sep 17 00:00:00 2001 -From: Jakub Libosvar -Date: Thu, 12 Oct 2017 15:19:31 +0000 -Subject: [PATCH] Create executable for removing patch ports - -Nodes using provider bridges for internal traffic like amqp can cause an -ARP storm when at least two nodes were shutdown ungracefully and are -brought up at once. It's caused by having patch-ports between provider -bridges and integration bridge, hence the integration bridge passes ARP -broadcast packets from one provider bridge to another. - -This patch introduces a cleanup script that scans Neutron config and -removes patch ports from integration bridge and bridges defined in -bridge_mappings option. Such script can be executed when node is booted. - -Resolves: rhbz#1490281 -Closes-bug: #1720766 - -Change-Id: I774cefac2951343a30f882791abf12598bc99603 ---- - neutron/cmd/destroy_patch_ports.py | 77 ++++++++++++++++++++ - .../functional/cmd/test_destroy_patch_ports.py | 83 ++++++++++++++++++++++ - 2 files changed, 160 insertions(+) - create mode 100644 neutron/cmd/destroy_patch_ports.py - create mode 100644 neutron/tests/functional/cmd/test_destroy_patch_ports.py - -diff --git a/neutron/cmd/destroy_patch_ports.py b/neutron/cmd/destroy_patch_ports.py -new file mode 100644 -index 0000000..d6fb4b3 ---- /dev/null -+++ b/neutron/cmd/destroy_patch_ports.py -@@ -0,0 +1,77 @@ -+# Copyright 2017 Red Hat, Inc. -+# All Rights Reserved. -+# -+# 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. -+ -+import sys -+ -+from neutron_lib.utils import helpers -+from oslo_config import cfg -+from oslo_log import log as logging -+ -+from neutron.agent.common import ovs_lib -+from neutron.common import config as common_config -+from neutron.conf.plugins.ml2.drivers import ovs_conf -+from neutron.plugins.common import utils as p_utils -+from neutron.plugins.ml2.drivers.openvswitch.agent.common import constants -+ -+LOG = logging.getLogger(__name__) -+ -+ -+def get_patch_port_names(bridge_name): -+ int_if_name = p_utils.get_interface_name( -+ bridge_name, prefix=constants.PEER_INTEGRATION_PREFIX) -+ phys_if_name = p_utils.get_interface_name( -+ bridge_name, prefix=constants.PEER_PHYSICAL_PREFIX) -+ -+ return int_if_name, phys_if_name -+ -+ -+class PatchPortCleaner(object): -+ def __init__(self, config): -+ mappings = helpers.parse_mappings(config.OVS.bridge_mappings) -+ self.bridges = [ovs_lib.OVSBridge(bridge) -+ for bridge in mappings.values()] -+ self.int_br = ovs_lib.OVSBridge(config.OVS.integration_bridge) -+ -+ def destroy_patch_ports(self): -+ if not self.int_br.bridge_exists(self.int_br.br_name): -+ # integration bridge hasn't been created by agent yet, nothing to -+ # clean -+ return -+ for bridge in self.bridges: -+ try: -+ self._remove_patch_ports_from_int_br(bridge) -+ except Exception as e: -+ LOG.error("Failed to remove patch port from bridge %s: %s", -+ bridge.br_name, e) -+ -+ def _remove_patch_ports_from_int_br(self, bridge): -+ int_if_name, phys_if_name = get_patch_port_names( -+ bridge.br_name) -+ int_type = self.int_br.db_get_val( -+ "Interface", int_if_name, "type", log_errors=False) -+ if int_type == 'patch': -+ self.int_br.delete_port(int_if_name) -+ bridge.delete_port(phys_if_name) -+ -+ -+def main(): -+ common_config.init(sys.argv[1:]) -+ ovs_conf.register_ovs_agent_opts() -+ port_cleaner = PatchPortCleaner(cfg.CONF) -+ port_cleaner.destroy_patch_ports() -+ -+ -+if __name__ == "__main__": -+ main() -diff --git a/neutron/tests/functional/cmd/test_destroy_patch_ports.py b/neutron/tests/functional/cmd/test_destroy_patch_ports.py -new file mode 100644 -index 0000000..9c92edf ---- /dev/null -+++ b/neutron/tests/functional/cmd/test_destroy_patch_ports.py -@@ -0,0 +1,83 @@ -+# Copyright 2017 Red Hat, Inc. -+# All Rights Reserved. -+# -+# 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. -+ -+from neutron_lib import constants as n_const -+from oslo_config import cfg -+ -+from neutron.cmd import destroy_patch_ports -+from neutron.common import utils -+from neutron.conf.plugins.ml2.drivers import ovs_conf -+from neutron.plugins.ml2.drivers.openvswitch.agent.common import constants -+from neutron.tests.common import net_helpers -+from neutron.tests.functional import base -+ -+ -+class TestDestroyPatchPorts(base.BaseSudoTestCase): -+ def setUp(self): -+ super(TestDestroyPatchPorts, self).setUp() -+ self.int_br = self.useFixture(net_helpers.OVSBridgeFixture()).bridge -+ bridge_mappings = {} -+ self.bridges = [] -+ for network in ('foo', 'bar'): -+ bridge = self.useFixture(net_helpers.OVSBridgeFixture()).bridge -+ self._create_patch_ports_to_int_br(bridge) -+ self.bridges.append(bridge) -+ bridge_mappings[network] = bridge.br_name -+ self.config = self._create_config_file(bridge_mappings) -+ -+ def _create_config_file(self, bridge_mappings): -+ config = cfg.ConfigOpts() -+ ovs_conf.register_ovs_agent_opts(config) -+ config.set_override('integration_bridge', self.int_br.br_name, "OVS") -+ config.set_override( -+ 'bridge_mappings', -+ ','.join(["%s:%s" % (net, br) -+ for net, br in bridge_mappings.items()]), -+ "OVS") -+ -+ return config -+ -+ def _create_patch_ports_to_int_br(self, bridge): -+ int_if_name, phys_if_name = destroy_patch_ports.get_patch_port_names( -+ bridge.br_name) -+ self.int_br.add_patch_port( -+ int_if_name, constants.NONEXISTENT_PEER) -+ bridge.add_patch_port( -+ phys_if_name, constants.NONEXISTENT_PEER) -+ self.int_br.set_db_attribute( -+ 'Interface', int_if_name, 'options', {'peer': phys_if_name}) -+ bridge.set_db_attribute( -+ 'Interface', phys_if_name, 'options', {'peer': int_if_name}) -+ -+ def _has_patch_ports(self, bridge): -+ int_if_name, phys_if_name = destroy_patch_ports.get_patch_port_names( -+ bridge.br_name) -+ return (bridge.port_exists(phys_if_name) and -+ self.int_br.port_exists(int_if_name)) -+ -+ def test_destroy_patch_ports(self): -+ self.assertTrue(all(self._has_patch_ports(bridge) -+ for bridge in self.bridges)) -+ cleaner = destroy_patch_ports.PatchPortCleaner(self.config) -+ cleaner.destroy_patch_ports() -+ self.assertFalse(any(self._has_patch_ports(bridge) -+ for bridge in self.bridges)) -+ -+ def test_destroy_patch_ports_no_int_br(self): -+ name = utils.get_rand_name( -+ max_length=n_const.DEVICE_NAME_MAX_LEN) -+ self.config.set_override('integration_bridge', name, "OVS") -+ cleaner = destroy_patch_ports.PatchPortCleaner(self.config) -+ cleaner.destroy_patch_ports() diff --git a/0002-Destroy-patch-ports-only-if-canary-flow-is-not-prese.patch b/0002-Destroy-patch-ports-only-if-canary-flow-is-not-prese.patch deleted file mode 100644 index 6b4ef68dce0ec39b255a927b4468e1a1dc838b65..0000000000000000000000000000000000000000 --- a/0002-Destroy-patch-ports-only-if-canary-flow-is-not-prese.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 20e704e066c5b6beed78828e662f8562a6db1e63 Mon Sep 17 00:00:00 2001 -From: Jakub Libosvar -Date: Fri, 10 Nov 2017 16:12:10 +0000 -Subject: [PATCH] Destroy patch ports only if canary flow is not present - -Because of containers management do not have any dependency system, -we need to call destroy-patch-ports command before -neutron-openvswitch-agent process is started in the container. This -patch adds functionality to avoid destroying the patch ports in case -canary flow is present on the integration bridge. This is to avoid cases -where container is stopped and started, which would cause a data plane -disruption due to removing patch ports when it's not necessary. Patch -ports are needed to be removed only in cases where node was ungracefully -taken down. - -Change-Id: I5ef0f54741abce40bedd0c958befc9cb39cd21c4 -Resolves: rhbz/1511988 ---- - neutron/cmd/destroy_patch_ports.py | 12 +++++++++--- - neutron/tests/functional/cmd/test_destroy_patch_ports.py | 12 +++++++++++- - 2 files changed, 20 insertions(+), 4 deletions(-) - -diff --git a/neutron/cmd/destroy_patch_ports.py b/neutron/cmd/destroy_patch_ports.py -index d6fb4b3..8c3ea98 100644 ---- a/neutron/cmd/destroy_patch_ports.py -+++ b/neutron/cmd/destroy_patch_ports.py -@@ -45,9 +45,10 @@ class PatchPortCleaner(object): - self.int_br = ovs_lib.OVSBridge(config.OVS.integration_bridge) - - def destroy_patch_ports(self): -- if not self.int_br.bridge_exists(self.int_br.br_name): -- # integration bridge hasn't been created by agent yet, nothing to -- # clean -+ if (not self.int_br.bridge_exists(self.int_br.br_name) or -+ self.flows_configured()): -+ # integration bridge hasn't been created by agent yet or it's been -+ # already configured by the agent - return - for bridge in self.bridges: - try: -@@ -65,6 +66,11 @@ class PatchPortCleaner(object): - self.int_br.delete_port(int_if_name) - bridge.delete_port(phys_if_name) - -+ def flows_configured(self): -+ """Return True if the integration bridge has flows already configured. -+ """ -+ return bool(self.int_br.dump_flows_for(table=constants.CANARY_TABLE)) -+ - - def main(): - common_config.init(sys.argv[1:]) -diff --git a/neutron/tests/functional/cmd/test_destroy_patch_ports.py b/neutron/tests/functional/cmd/test_destroy_patch_ports.py -index 9c92edf..b53f1b8 100644 ---- a/neutron/tests/functional/cmd/test_destroy_patch_ports.py -+++ b/neutron/tests/functional/cmd/test_destroy_patch_ports.py -@@ -67,9 +67,12 @@ class TestDestroyPatchPorts(base.BaseSudoTestCase): - return (bridge.port_exists(phys_if_name) and - self.int_br.port_exists(int_if_name)) - -- def test_destroy_patch_ports(self): -+ def _assert_has_all_ports(self): - self.assertTrue(all(self._has_patch_ports(bridge) - for bridge in self.bridges)) -+ -+ def test_destroy_patch_ports(self): -+ self._assert_has_all_ports() - cleaner = destroy_patch_ports.PatchPortCleaner(self.config) - cleaner.destroy_patch_ports() - self.assertFalse(any(self._has_patch_ports(bridge) -@@ -81,3 +84,10 @@ class TestDestroyPatchPorts(base.BaseSudoTestCase): - self.config.set_override('integration_bridge', name, "OVS") - cleaner = destroy_patch_ports.PatchPortCleaner(self.config) - cleaner.destroy_patch_ports() -+ -+ def test_destroy_patch_ports_canary_flow_on_int_br(self): -+ self.int_br.add_flow(table=constants.CANARY_TABLE, actions="drop") -+ self._assert_has_all_ports() -+ cleaner = destroy_patch_ports.PatchPortCleaner(self.config) -+ cleaner.destroy_patch_ports() -+ self._assert_has_all_ports() diff --git a/0003-use-plugin-utils-from-neutron-lib.patch b/0003-use-plugin-utils-from-neutron-lib.patch deleted file mode 100644 index 3dc0cd5ffe76b4ed3a8577628758a9d39dba54e4..0000000000000000000000000000000000000000 --- a/0003-use-plugin-utils-from-neutron-lib.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 91ebd644ed9811cc822d773914590d5b4659bed4 Mon Sep 17 00:00:00 2001 -From: yatin -Date: Tue, 17 Jul 2018 10:17:44 +0530 -Subject: [PATCH] use plugin utils from neutron-lib - -Upstream switched to neutron_lib usage in -https://review.openstack.org/#/c/565284/. - -Change-Id: I88672f7ddd05ab277281772787666206f45e45ca ---- - neutron/cmd/destroy_patch_ports.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/neutron/cmd/destroy_patch_ports.py b/neutron/cmd/destroy_patch_ports.py -index 8c3ea98c1..76d9ebff8 100644 ---- a/neutron/cmd/destroy_patch_ports.py -+++ b/neutron/cmd/destroy_patch_ports.py -@@ -15,6 +15,7 @@ - - import sys - -+from neutron_lib.plugins import utils as p_utils - from neutron_lib.utils import helpers - from oslo_config import cfg - from oslo_log import log as logging -@@ -22,7 +23,6 @@ from oslo_log import log as logging - from neutron.agent.common import ovs_lib - from neutron.common import config as common_config - from neutron.conf.plugins.ml2.drivers import ovs_conf --from neutron.plugins.common import utils as p_utils - from neutron.plugins.ml2.drivers.openvswitch.agent.common import constants - - LOG = logging.getLogger(__name__) --- -2.17.1 - diff --git a/0004-Adjust-logging-for-removing-patch-ports.patch b/0004-Adjust-logging-for-removing-patch-ports.patch deleted file mode 100644 index fe02b54c4bdb391a9e04f846e48a9d5f8da51ac5..0000000000000000000000000000000000000000 --- a/0004-Adjust-logging-for-removing-patch-ports.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/neutron/cmd/destroy_patch_ports.py -+++ b/neutron/cmd/destroy_patch_ports.py -@@ -39,6 +39,7 @@ - - class PatchPortCleaner(object): - def __init__(self, config): -+ LOG.debug("Get OVS bridge mappings") - mappings = helpers.parse_mappings(config.OVS.bridge_mappings) - self.bridges = [ovs_lib.OVSBridge(bridge) - for bridge in mappings.values()] -@@ -52,6 +53,7 @@ - return - for bridge in self.bridges: - try: -+ LOG.debug("Remove patch port from bridge %s", bridge.br_name) - self._remove_patch_ports_from_int_br(bridge) - except Exception as e: - LOG.error("Failed to remove patch port from bridge %s: %s", -@@ -69,12 +71,15 @@ - def flows_configured(self): - """Return True if the integration bridge has flows already configured. - """ -+ LOG.debug("Get configured flows for integration bridge %s", -+ self.int_br.br_name) - return bool(self.int_br.dump_flows_for(table=constants.CANARY_TABLE)) - - - def main(): - common_config.init(sys.argv[1:]) - ovs_conf.register_ovs_agent_opts() -+ common_config.setup_logging() - port_cleaner = PatchPortCleaner(cfg.CONF) - port_cleaner.destroy_patch_ports() - diff --git a/CVE-2021-40085.diff b/CVE-2021-40085.diff new file mode 100644 index 0000000000000000000000000000000000000000..b03f8bc22d33c4357ff23684fd13403aae0c624d --- /dev/null +++ b/CVE-2021-40085.diff @@ -0,0 +1,75 @@ +From 110fed07cb83deb3abd85073cb351066713b6384 Mon Sep 17 00:00:00 2001 +From: Slawek Kaplonski +Date: Mon, 23 Aug 2021 13:01:37 +0200 +Subject: [PATCH] Remove dhcp_extra_opt value after first newline character + +Passing newline to the dnsmasq may cause security issues, especially +that in case of Neutron that dhcp options' values are controlled by +cloud users. +This patch removes everything what is after first newline character +in the dhcp_extra_opt's values before passing them to dnsmasq. + +Conflicts: + neutron/tests/unit/agent/linux/test_dhcp.py + +Closes-Bug: #1939733 +Change-Id: Ifeaf258f0b5ea86f25620ac4116d618980a7272e +(cherry picked from commit df891f0593d234e01f27d7c0376d9702e178ecfb) +--- + +diff --git a/neutron/agent/linux/dhcp.py b/neutron/agent/linux/dhcp.py +index 3114f43..67e5cfa 100644 +--- a/neutron/agent/linux/dhcp.py ++++ b/neutron/agent/linux/dhcp.py +@@ -1153,10 +1153,11 @@ + else: + option = 'option6:%s' % option + if extra_tag: +- tags = ('tag:' + tag, extra_tag[:-1], '%s' % option) ++ tags = ['tag:' + tag, extra_tag[:-1], '%s' % option] + else: +- tags = ('tag:' + tag, '%s' % option) +- return ','.join(tags + args) ++ tags = ['tag:' + tag, '%s' % option] ++ ++ return ','.join(tags + [v.split("\n", 1)[0] for v in args]) + + @staticmethod + def _convert_to_literal_addrs(ip_version, ips): +diff --git a/neutron/tests/unit/agent/linux/test_dhcp.py b/neutron/tests/unit/agent/linux/test_dhcp.py +index c819782..0229bb8 100644 +--- a/neutron/tests/unit/agent/linux/test_dhcp.py ++++ b/neutron/tests/unit/agent/linux/test_dhcp.py +@@ -225,6 +225,9 @@ + self.extra_dhcp_opts = [ + DhcpOpt(opt_name='dns-server', + opt_value='ffea:3ba5:a17a:4ba3::100', ++ ip_version=6), ++ DhcpOpt(opt_name='malicious-option', ++ opt_value='aaa\nbbb.ccc\n', + ip_version=6)] + + +@@ -2700,7 +2703,9 @@ + exp_opt_data = ('tag:subnet-eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee,' + 'option6:domain-search,openstacklocal\n' + 'tag:port-hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh,' +- 'option6:dns-server,ffea:3ba5:a17a:4ba3::100').lstrip() ++ 'option6:dns-server,ffea:3ba5:a17a:4ba3::100\n' ++ 'tag:port-hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh,' ++ 'option6:malicious-option,aaa').lstrip() + dm = self._get_dnsmasq(FakeV6NetworkStatelessDHCP()) + dm._output_hosts_file() + dm._output_opts_file() +diff --git a/releasenotes/notes/fix-newline-chars-in-dhcp-extra-options-bf86d30371556d63.yaml b/releasenotes/notes/fix-newline-chars-in-dhcp-extra-options-bf86d30371556d63.yaml +new file mode 100644 +index 0000000..d2a8c2f +--- /dev/null ++++ b/releasenotes/notes/fix-newline-chars-in-dhcp-extra-options-bf86d30371556d63.yaml +@@ -0,0 +1,6 @@ ++--- ++security: ++ - | ++ Fix `bug 1939733 `_ by ++ dropping from the dhcp extra option values everything what is after first ++ newline (``\n``) character before passing them to the dnsmasq. diff --git a/neutron-17.0.0.tar.gz b/neutron-12.1.1.tar.gz similarity index 53% rename from neutron-17.0.0.tar.gz rename to neutron-12.1.1.tar.gz index 20d012aaf8a33f877f1a97dc7d2c67c463239d68..6eab3603abed88da5f6314991fd6020103d35f58 100644 Binary files a/neutron-17.0.0.tar.gz and b/neutron-12.1.1.tar.gz differ diff --git a/neutron-17.0.0.tar.gz.asc b/neutron-17.0.0.tar.gz.asc deleted file mode 100644 index 82bd24061d3a8b3c348b02f1ae9549378cb0a102..0000000000000000000000000000000000000000 --- a/neutron-17.0.0.tar.gz.asc +++ /dev/null @@ -1,14 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQGzBAABCgAdFiEEvCbTqNBmXIf3vt8qwSuOc7MPL8gFAl+G0l4ACgkQwSuOc7MP -L8jEJAwAlTz1nvUXE+8eYzkQbtQoVSohnLCVm7IDaVaSmPwSVROTn922rXnr+lJ3 -ZT973r2yeLuWKcwJgHkiCyEetnl6nEu5jpCetEmhefPb8T+czZmPC3Ex5NrMp6Om -jkWi6uPYzLxM1xIpFfpJv2zxIpdvYT2UKIg77wCmS9HRapk+Br7+KOIqmiZCD46s -W4dX3BGL9pyghykBf8zd4zsZx+yQzyo+DsnF9KzbyE3m+iFySdmUcg0sfDOcft/4 -+gutZPPoyHlQLCzlsQ6WnkEKyyaJUFOLv1+zQ5ZWKWkv1K8buSnswXImXgS78Fs7 -KT6Z16fQ1IrJKTtGLenr2qvSx7Kg2DPa/x+DX8aiBzJekaO1SR/FOPURylp3g+JH -x0ckdF1lafH6gIe1cI4NQWV7r51wLnhWUGEofRuUuycpnLZlxaLXjQKsDrJHpIYX -WFIKvIKwZ/2vGnJGZweDWAyHVx3phb69ag3OK2Tm18uqY9rSPVKJNWdblR0Vuk9X -BPw3NY/Z -=LJ57 ------END PGP SIGNATURE----- diff --git a/neutron-ovn-metadata-agent.service b/neutron-ovn-metadata-agent.service deleted file mode 100644 index 51907558a0e3ec6b5b9e44074c804515a3b2915e..0000000000000000000000000000000000000000 --- a/neutron-ovn-metadata-agent.service +++ /dev/null @@ -1,18 +0,0 @@ -[Unit] -Description=OpenStack Neutron OVN Metadata Agent -After=syslog.target network.target openvswitch.service -Requires=openvswitch.service - -[Service] -Type=simple -User=neutron -PermissionsStartOnly=true -ExecStart=/usr/bin/neutron-ovn-metadata-agent --config-file /etc/neutron/neutron_ovn_metadata_agent.ini --config-dir /etc/neutron/conf.d/neutron-ovn-metadata-agent --log-file /var/log/neutron/neutron-ovn-metadata-agent.log -PrivateTmp=false -KillMode=process -Restart=on-failure - -[Install] -WantedBy=multi-user.target -# (TODO) - Backwards compatibility in systemd service -Alias=networking-ovn-metadata-agent diff --git a/openstack-neutron-17.0.0-1.el8.src.rpm b/openstack-neutron-17.0.0-1.el8.src.rpm deleted file mode 100644 index 9c674172bd0d845b7ee4b8b9a10b8df9af33ee04..0000000000000000000000000000000000000000 Binary files a/openstack-neutron-17.0.0-1.el8.src.rpm and /dev/null differ diff --git a/neutron-destroy-patch-ports.service b/openstack-neutron-destroy-patch-ports.service similarity index 88% rename from neutron-destroy-patch-ports.service rename to openstack-neutron-destroy-patch-ports.service index 130601e17252d348b4b72800bf584afe94e55468..0f2f0f690146113b97d1abf5f1b4bbf6658418e1 100644 --- a/neutron-destroy-patch-ports.service +++ b/openstack-neutron-destroy-patch-ports.service @@ -6,7 +6,7 @@ Before=neutron-openvswitch-agent.service [Service] Type=oneshot User=neutron -ExecStart=/usr/bin/python -m neutron.cmd.destroy_patch_ports --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-openvswitch-agent +ExecStart=/usr/bin/python -m neutron.cmd.destroy_patch_ports --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-openvswitch-agent PrivateTmp=false RemainAfterExit=yes diff --git a/neutron-dhcp-agent.service b/openstack-neutron-dhcp-agent.service similarity index 76% rename from neutron-dhcp-agent.service rename to openstack-neutron-dhcp-agent.service index a407f5686c62ee723533e0ace14505081582a757..fa5e5d392e4c8c8773742258c85977316e759833 100644 --- a/neutron-dhcp-agent.service +++ b/openstack-neutron-dhcp-agent.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=simple User=neutron -ExecStart=/usr/bin/neutron-dhcp-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log +ExecStart=/usr/bin/neutron-dhcp-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log PrivateTmp=false KillMode=process Restart=on-failure diff --git a/neutron-l3-agent.service b/openstack-neutron-l3-agent.service similarity index 77% rename from neutron-l3-agent.service rename to openstack-neutron-l3-agent.service index 469d3ce17c48c7da36cc1ba6b299c4fe082958a6..251bec83b4936d6f27a46737bb164b691f7ab276 100644 --- a/neutron-l3-agent.service +++ b/openstack-neutron-l3-agent.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=simple User=neutron -ExecStart=/usr/bin/neutron-l3-agent --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/l3_agent --config-file /etc/neutron/neutron.conf --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l3-agent --log-file /var/log/neutron/l3-agent.log +ExecStart=/usr/bin/neutron-l3-agent --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/l3_agent --config-file /etc/neutron/neutron.conf --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-l3-agent --log-file /var/log/neutron/l3-agent.log PrivateTmp=false KillMode=process Restart=on-failure diff --git a/neutron-linuxbridge-agent.service b/openstack-neutron-linuxbridge-agent.service similarity index 84% rename from neutron-linuxbridge-agent.service rename to openstack-neutron-linuxbridge-agent.service index bbd73f3dd241d0cd76494055e0e68b37ee9d0ef2..226ee847c46b3260e55caaced8736f8e0268c344 100644 --- a/neutron-linuxbridge-agent.service +++ b/openstack-neutron-linuxbridge-agent.service @@ -7,7 +7,7 @@ Type=simple User=neutron PermissionsStartOnly=true ExecStartPre=/usr/bin/neutron-enable-bridge-firewall.sh -ExecStart=/usr/bin/neutron-linuxbridge-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/linuxbridge_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-linuxbridge-agent --log-file /var/log/neutron/linuxbridge-agent.log +ExecStart=/usr/bin/neutron-linuxbridge-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/linuxbridge_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-linuxbridge-agent --log-file /var/log/neutron/linuxbridge-agent.log PrivateTmp=true KillMode=process Restart=on-failure diff --git a/neutron-linuxbridge-cleanup.service b/openstack-neutron-linuxbridge-cleanup.service similarity index 80% rename from neutron-linuxbridge-cleanup.service rename to openstack-neutron-linuxbridge-cleanup.service index 579d901e7f0d02b8853385e7a008e06600b83956..f204c4187d4d0bfeaab7e1fd9e7ced8df4fabd6a 100644 --- a/neutron-linuxbridge-cleanup.service +++ b/openstack-neutron-linuxbridge-cleanup.service @@ -6,8 +6,8 @@ Before=neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-l3-a [Service] Type=oneshot User=neutron -ExecStart=/usr/bin/neutron-linuxbridge-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/linuxbridge_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-linuxbridge-cleanup --log-file /var/log/neutron/linuxbridge-cleanup.log -ExecStop=/usr/bin/neutron-linuxbridge-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/linuxbridge_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-linuxbridge-cleanup --log-file /var/log/neutron/linuxbridge-cleanup.log +ExecStart=/usr/bin/neutron-linuxbridge-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/linuxbridge_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-linuxbridge-cleanup --log-file /var/log/neutron/linuxbridge-cleanup.log +ExecStop=/usr/bin/neutron-linuxbridge-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/linuxbridge_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-linuxbridge-cleanup --log-file /var/log/neutron/linuxbridge-cleanup.log PrivateTmp=true RemainAfterExit=yes diff --git a/neutron-macvtap-agent.service b/openstack-neutron-macvtap-agent.service similarity index 81% rename from neutron-macvtap-agent.service rename to openstack-neutron-macvtap-agent.service index ba7e4010b41ea853c182d9a29e4416dc04e15787..f47ba79b6449dd6ebe2906a6308598e8c295caa9 100644 --- a/neutron-macvtap-agent.service +++ b/openstack-neutron-macvtap-agent.service @@ -5,7 +5,7 @@ After=syslog.target [Service] Type=simple User=neutron -ExecStart=/usr/bin/neutron-macvtap-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-macvtap-agent --log-file /var/log/neutron/macvtap-agent.log +ExecStart=/usr/bin/neutron-macvtap-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-macvtap-agent --log-file /var/log/neutron/macvtap-agent.log PrivateTmp=true KillMode=process Restart=on-failure diff --git a/neutron-metadata-agent.service b/openstack-neutron-metadata-agent.service similarity index 74% rename from neutron-metadata-agent.service rename to openstack-neutron-metadata-agent.service index 62a3106ce71631c21d3b05cf4cc6d8f8ccd0063d..5c165e22ce0831232b70ab11a4ba2cd90d94eb33 100644 --- a/neutron-metadata-agent.service +++ b/openstack-neutron-metadata-agent.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=simple User=neutron -ExecStart=/usr/bin/neutron-metadata-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-metadata-agent --log-file /var/log/neutron/metadata-agent.log +ExecStart=/usr/bin/neutron-metadata-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-metadata-agent --log-file /var/log/neutron/metadata-agent.log PrivateTmp=false KillMode=process Restart=on-failure diff --git a/neutron-metering-agent.service b/openstack-neutron-metering-agent.service similarity index 74% rename from neutron-metering-agent.service rename to openstack-neutron-metering-agent.service index 618b341c2af615b7ae2bcefd9c5aff628fbad0e1..7b5428e82578d3f85f4897b2ae831bface320f30 100644 --- a/neutron-metering-agent.service +++ b/openstack-neutron-metering-agent.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=simple User=neutron -ExecStart=/usr/bin/neutron-metering-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metering_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-metering-agent --log-file /var/log/neutron/metering-agent.log +ExecStart=/usr/bin/neutron-metering-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metering_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-metering-agent --log-file /var/log/neutron/metering-agent.log PrivateTmp=false KillMode=process Restart=on-failure diff --git a/neutron-netns-cleanup.service b/openstack-neutron-netns-cleanup.service similarity index 72% rename from neutron-netns-cleanup.service rename to openstack-neutron-netns-cleanup.service index 7a730e4b741cd25f5dc8e05efa2eadbd69c309f4..50d9c53b4321be512413b8a02fc9fe0f3dcea0ec 100644 --- a/neutron-netns-cleanup.service +++ b/openstack-neutron-netns-cleanup.service @@ -6,8 +6,8 @@ Before=neutron-openvswitch-agent.service neutron-dhcp-agent.service neutron-l3-a [Service] Type=oneshot User=neutron -ExecStart=/usr/bin/neutron-netns-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-netns-cleanup --log-file /var/log/neutron/netns-cleanup.log -ExecStop=/usr/bin/neutron-netns-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-netns-cleanup --log-file /var/log/neutron/netns-cleanup.log --force +ExecStart=/usr/bin/neutron-netns-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-netns-cleanup --log-file /var/log/neutron/netns-cleanup.log +ExecStop=/usr/bin/neutron-netns-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-netns-cleanup --log-file /var/log/neutron/netns-cleanup.log --force PrivateTmp=false RemainAfterExit=yes diff --git a/neutron-openvswitch-agent.service b/openstack-neutron-openvswitch-agent.service similarity index 86% rename from neutron-openvswitch-agent.service rename to openstack-neutron-openvswitch-agent.service index 25b10c2477c37660b4364772f6930807716a9696..d730adda2482938fd56d3da6122d876aa3fe7ab8 100644 --- a/neutron-openvswitch-agent.service +++ b/openstack-neutron-openvswitch-agent.service @@ -9,7 +9,7 @@ Type=simple User=neutron PermissionsStartOnly=true ExecStartPre=/usr/bin/neutron-enable-bridge-firewall.sh -ExecStart=/usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log +ExecStart=/usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log PrivateTmp=true KillMode=process Restart=on-failure diff --git a/neutron-ovs-cleanup.service b/openstack-neutron-ovs-cleanup.service similarity index 84% rename from neutron-ovs-cleanup.service rename to openstack-neutron-ovs-cleanup.service index 82bfa1a2d3340bfcd34c4f8af16db0f542bb3fed..c851b6a5bec33cada1611f2f67ba64d9a41d87ad 100644 --- a/neutron-ovs-cleanup.service +++ b/openstack-neutron-ovs-cleanup.service @@ -6,8 +6,8 @@ Before=neutron-openvswitch-agent.service neutron-dhcp-agent.service neutron-l3-a [Service] Type=oneshot User=neutron -ExecStart=/usr/bin/neutron-ovs-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-ovs-cleanup --log-file /var/log/neutron/ovs-cleanup.log -ExecStop=/usr/bin/neutron-ovs-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-ovs-cleanup --log-file /var/log/neutron/ovs-cleanup.log +ExecStart=/usr/bin/neutron-ovs-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-ovs-cleanup --log-file /var/log/neutron/ovs-cleanup.log +ExecStop=/usr/bin/neutron-ovs-cleanup --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-ovs-cleanup --log-file /var/log/neutron/ovs-cleanup.log PrivateTmp=true RemainAfterExit=yes TimeoutSec=0 diff --git a/neutron-rpc-server.service b/openstack-neutron-rpc-server.service similarity index 83% rename from neutron-rpc-server.service rename to openstack-neutron-rpc-server.service index 6aca43298f51d94d92cd59a36d63556ae689c06d..d30992c72e73ab4303f2f1fa17341106cd8b7307 100644 --- a/neutron-rpc-server.service +++ b/openstack-neutron-rpc-server.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=notify User=neutron -ExecStart=/usr/bin/neutron-rpc-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-rpc-server --log-file /var/log/neutron/rpc-server.log +ExecStart=/usr/bin/neutron-rpc-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-rpc-server --log-file /var/log/neutron/rpc-server.log PrivateTmp=true NotifyAccess=all KillMode=process diff --git a/neutron-server.service b/openstack-neutron-server.service similarity index 85% rename from neutron-server.service rename to openstack-neutron-server.service index e68024cb9dc06e474b1ac9473bff93c3d892b4d6..7d612e81473288d93b4f2096bba966e063a295e8 100644 --- a/neutron-server.service +++ b/openstack-neutron-server.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=notify User=neutron -ExecStart=/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server --log-file /var/log/neutron/server.log +ExecStart=/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-server --log-file /var/log/neutron/server.log PrivateTmp=true NotifyAccess=all KillMode=process diff --git a/neutron-sriov-nic-agent.service b/openstack-neutron-sriov-nic-agent.service similarity index 84% rename from neutron-sriov-nic-agent.service rename to openstack-neutron-sriov-nic-agent.service index 8233cbfa0985937c7b76bf66470c5861a461b74f..57ce414f15209df10c2348d3706e39768c48f318 100644 --- a/neutron-sriov-nic-agent.service +++ b/openstack-neutron-sriov-nic-agent.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=simple User=neutron -ExecStart=/usr/bin/neutron-sriov-nic-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/sriov_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-sriov-nic-agent --log-file /var/log/neutron/sriov-nic-agent.log +ExecStart=/usr/bin/neutron-sriov-nic-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/sriov_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/openstack-neutron-sriov-nic-agent --log-file /var/log/neutron/sriov-nic-agent.log PrivateTmp=false KillMode=process Restart=on-failure diff --git a/openstack-neutron.spec b/openstack-neutron.spec index e655d39d99c85053eb3e6a61d2ea122a729384c2..b69b860dc9931c95be3508aaffd7dc4bbc9a6b29 100644 --- a/openstack-neutron.spec +++ b/openstack-neutron.spec @@ -1,6 +1,3 @@ -%{!?upstream_version: %global upstream_version %{version}%{?milestone}} -%global service neutron - %define cleanup_orphan_rootwrap_daemons() \ for pid in $(ps -f --ppid 1 | awk '/.*neutron-rootwrap-daemon/ { print $2 }'); do \ kill $(ps --ppid $pid -o pid=) \ @@ -8,77 +5,80 @@ done \ %nil Name: openstack-neutron -Version: 17.0.0 -Release: 1 -Epoch: 1 +Version: 12.1.1 +Release: 4 Summary: OpenStack Networking Service License: Apache-2.0 -URL: http://launchpad.net/neutron/ -Source0: https://tarballs.openstack.org/neutron/neutron-%{upstream_version}.tar.gz -Source1: %{service}.logrotate -Source2: %{service}-sudoers -Source10: neutron-server.service -Source11: neutron-linuxbridge-agent.service -Source12: neutron-openvswitch-agent.service -Source15: neutron-dhcp-agent.service -Source16: neutron-l3-agent.service -Source17: neutron-metadata-agent.service -Source18: neutron-ovs-cleanup.service -Source19: neutron-macvtap-agent.service -Source20: neutron-metering-agent.service -Source21: neutron-sriov-nic-agent.service -Source22: neutron-netns-cleanup.service -Source29: neutron-rpc-server.service - -Source30: %{service}-dist.conf +URL: https://opendev.org/openstack/neutron +Source0: https://tarballs.openstack.org/neutron/neutron-12.1.1.tar.gz +Source1: neutron.logrotate +Source2: neutron-sudoers +Source10: openstack-neutron-server.service +Source11: openstack-neutron-linuxbridge-agent.service +Source12: openstack-neutron-openvswitch-agent.service +Source15: openstack-neutron-dhcp-agent.service +Source16: openstack-neutron-l3-agent.service +Source17: openstack-neutron-metadata-agent.service +Source18: openstack-neutron-ovs-cleanup.service +Source19: openstack-neutron-macvtap-agent.service +Source20: openstack-neutron-metering-agent.service +Source21: openstack-neutron-sriov-nic-agent.service +Source22: openstack-neutron-netns-cleanup.service +Source29: openstack-neutron-rpc-server.service +Source30: neutron-dist.conf Source31: conf.README -Source32: neutron-linuxbridge-cleanup.service +Source32: openstack-neutron-linuxbridge-cleanup.service Source33: neutron-enable-bridge-firewall.sh Source34: neutron-l2-agent-sysctl.conf Source35: neutron-l2-agent.modules -Source36: neutron-destroy-patch-ports.service -Source37: neutron-ovn-metadata-agent.service - -Patch0001: 0001-Create-executable-for-removing-patch-ports.patch -Patch0002: 0002-Destroy-patch-ports-only-if-canary-flow-is-not-prese.patch -Patch0003: 0003-use-plugin-utils-from-neutron-lib.patch -Patch0004: 0004-Adjust-logging-for-removing-patch-ports.patch +Source36: openstack-neutron-destroy-patch-ports.service +Patch: CVE-2021-40085.diff BuildArch: noarch BuildRequires: git BuildRequires: openstack-macros -BuildRequires: python3-devel -BuildRequires: python3-babel -BuildRequires: python3-keystoneauth1 >= 3.14.0 -BuildRequires: python3-keystonemiddleware -BuildRequires: python3-neutron-lib -BuildRequires: python3-novaclient -BuildRequires: python3-os-xenapi -BuildRequires: python3-oslo-cache -BuildRequires: python3-oslo-concurrency -BuildRequires: python3-oslo-config -BuildRequires: python3-oslo-db -BuildRequires: python3-oslo-log -BuildRequires: python3-oslo-messaging -BuildRequires: python3-oslo-policy -BuildRequires: python3-oslo-privsep -BuildRequires: python3-oslo-rootwrap -BuildRequires: python3-oslo-service -BuildRequires: python3-oslo-upgradecheck -BuildRequires: python3-oslo-versionedobjects -BuildRequires: python3-osprofiler >= 1.3.0 -BuildRequires: python3-ovsdbapp -BuildRequires: python3-pbr >= 4.0.0 -BuildRequires: python3-psutil >= 3.2.2 -BuildRequires: python3-pyroute2 >= 0.5.13 -BuildRequires: python3-pecan >= 1.3.2 -BuildRequires: python3-tenacity >= 4.4.0 -BuildRequires: python3-os-vif +BuildRequires: python2-devel +BuildRequires: python2-pip +BuildRequires: python2-babel +BuildRequires: python2-keystoneauth1 >= 3.4.0 +BuildRequires: python2-keystonemiddleware +BuildRequires: python2-neutron-lib +BuildRequires: python2-novaclient +BuildRequires: python2-os-xenapi +BuildRequires: python2-oslo-cache +BuildRequires: python2-oslo-concurrency +BuildRequires: python2-oslo-config +BuildRequires: python2-oslo-db +BuildRequires: python2-oslo-log +BuildRequires: python2-oslo-messaging +BuildRequires: python2-oslo-policy +BuildRequires: python2-oslo-privsep +BuildRequires: python2-oslo-rootwrap +BuildRequires: python2-oslo-service +BuildRequires: python2-oslo-versionedobjects +BuildRequires: python2-osprofiler >= 1.3.0 +BuildRequires: python2-ovsdbapp +BuildRequires: python2-pbr >= 2.0.0 +BuildRequires: python2-psutil >= 3.2.2 +BuildRequires: python2-pyroute2 >= 0.4.21 +BuildRequires: python2-pecan >= 1.3.2 +BuildRequires: python2-tenacity >= 4.4.0 +BuildRequires: python2-weakrefmethod >= 1.0.2 BuildRequires: systemd -BuildRequires: python3-pip -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +Requires: openstack-neutron-server = %{version}-%{release} +Requires: openstack-neutron-ml2 = %{version}-%{release} + +%{?systemd_requires} + +%description +Neutron is a virtual network service for Openstack. + + +%package server +Summary: Neutron API service +Requires: openstack-neutron-common = %{version}-%{release} Requires: dnsmasq >= 2.76 Requires: dnsmasq-utils >= 2.76 Requires: radvd @@ -88,237 +88,202 @@ Requires: keepalived Requires: haproxy >= 1.5.0 Requires: ipset Requires: iptables -Requires: iputils -Requires: iproute-tc - -%{?systemd_ordering} +%description server +Neutron API service -%description -OpenStack Networking (Neutron) -%package -n python3-%{service} -Summary: Neutron Python libraries -%{?python_provide:%python_provide python3-%{service}} -Requires: python3-alembic >= 0.9.6 -Requires: python3-debtcollector >= 1.19.0 -Requires: python3-designateclient >= 2.7.0 -Requires: python3-eventlet >= 0.21.0 -Requires: python3-greenlet >= 0.4.10 -Requires: python3-futurist >= 1.10.0 -Requires: python3-jinja2 >= 2.10 -Requires: python3-keystoneauth1 >= 3.14.0 -Requires: python3-keystonemiddleware >= 4.17.0 -Requires: python3-netaddr >= 0.7.18 -Requires: python3-neutronclient >= 6.7.0 -Requires: python3-neutron-lib >= 2.6.0 -Requires: python3-novaclient >= 9.1.0 -Requires: python3-os-vif >= 1.15.1 -Requires: python3-os-xenapi >= 0.3.1 -Requires: python3-oslo-cache >= 1.26.0 -Requires: python3-oslo-concurrency >= 3.26.0 -Requires: python3-oslo-config -Requires: python3-oslo-context >= 2.20.0 -Requires: python3-oslo-db >= 4.44.0 -Requires: python3-oslo-i18n >= 3.20.0 -Requires: python3-oslo-log >= 4.2.1 -Requires: python3-oslo-messaging >= 7.0.0 -Requires: python3-oslo-middleware >= 3.31.0 -Requires: python3-oslo-policy >= 1.30.0 -Requires: python3-oslo-privsep >= 2.3.0 -Requires: python3-oslo-reports >= 1.18.0 -Requires: python3-oslo-rootwrap >= 5.8.0 -Requires: python3-oslo-serialization >= 2.25.0 -Requires: python3-oslo-service >= 1.24.0 -Requires: python3-oslo-upgradecheck >= 0.1.0 -Requires: python3-oslo-utils >= 4.4.0 -Requires: python3-oslo-versionedobjects >= 1.35.1 -Requires: python3-osprofiler >= 2.3.0 -Requires: python3-ovsdbapp -Requires: python3-pecan >= 1.3.2 -Requires: python3-pbr >= 4.0.0 -Requires: python3-psutil >= 3.2.2 -Requires: python3-pyroute2 >= 0.5.13 -Requires: python3-requests >= 2.14.2 -Requires: python3-tenacity >= 6.0.0 -Requires: python3-routes >= 2.3.1 -Requires: python3-os-ken >= 0.3.1 -Requires: python3-sqlalchemy >= 1.2.0 -Requires: python3-stevedore >= 1.20.0 -Requires: python3-tooz >= 1.58.0 -Requires: python3-webob >= 1.8.2 -Requires: python3-openstacksdk >= 0.31.2 -Requires: python3-pyOpenSSL >= 17.1.0 -Requires: python3-httplib2 >= 0.9.1 -Requires: python3-netifaces >= 0.10.4 -Requires: python3-paste -Requires: python3-paste-deploy >= 1.5.0 -Requires: python3-decorator >= 3.4.0 - -Provides: python3-networking-ovn = %{epoch}:%{version}-%{release} - - -%description -n python3-%{service} -OpenStack Networking (Neutron) -This package contains the Neutron Python library. - -%package -n python3-%{service}-tests -Summary: Neutron tests -%{?python_provide:%python_provide python3-%{service}-tests} -Requires: python3-%{service} = %{epoch}:%{version}-%{release} -Requires: python3-ddt >= 1.0.1 -Requires: python3-fixtures >= 3.0.0 -Requires: python3-mock >= 2.0 -Requires: python3-subunit >= 0.0.18 -Requires: python3-testrepository >= 0.0.18 -Requires: python3-testtools >= 1.4.0 -Requires: python3-testresources >= 0.2.4 -Requires: python3-testscenarios >= 0.4 -Requires: python3-oslotest >= 1.10.0 -Requires: python3-os-testr >= 0.7.0 -Requires: python3-PyMySQL >= 0.6.2 -Requires: python3-tempest >= 12.1.0 -Requires: python3-webtest >= 2.0 -Requires: psmisc -Requires: nfs-utils +%package ml2 +Summary: Neutron ML2 plugin +Requires: openstack-neutron-common = %{version}-%{release} -%description -n python3-%{service}-tests -OpenStack Networking (Neutron) -This package contains Neutron test files. +%description ml2 +Neutron ML2 plugin %package common Summary: Neutron common files Requires(pre): shadow-utils -Requires: python3-%{service} = %{epoch}:%{version}-%{release} +Requires: python2-neutron = %{version}-%{release} Requires: sudo - %description common -OpenStack Networking (Neutron) This package contains Neutron common files. -%package linuxbridge +%package -n python2-neutron +Summary: Neutron Python libraries +Requires: python2-alembic >= 0.9.6 +Requires: python2-debtcollector >= 1.2.0 +Requires: python2-designateclient >= 2.7.0 +Requires: python2-eventlet >= 0.18.2 +Requires: python2-greenlet >= 0.4.10 +Requires: python2-httplib2 >= 0.9.1 +Requires: python2-jinja2 >= 2.10 +Requires: python2-keystoneauth1 >= 3.4.0 +Requires: python2-keystonemiddleware >= 4.17.0 +Requires: python2-netaddr >= 0.7.18 +Requires: python2-netifaces >= 0.10.4 +Requires: python2-neutronclient >= 6.7.0 +Requires: python2-neutron-lib >= 1.18.0 +Requires: python2-novaclient >= 9.1.0 +Requires: python2-os-xenapi >= 0.3.1 +Requires: python2-oslo-cache >= 1.26.0 +Requires: python2-oslo-concurrency >= 3.26.0 +Requires: python2-oslo-config >= 2:5.2.0 +Requires: python2-oslo-context >= 2.19.2 +Requires: python2-oslo-db >= 4.27.0 +Requires: python2-oslo-i18n >= 3.15.3 +Requires: python2-oslo-log >= 3.36.0 +Requires: python2-oslo-messaging >= 5.29.0 +Requires: python2-oslo-middleware >= 3.31.0 +Requires: python2-oslo-policy >= 1.30.0 +Requires: python2-oslo-privsep >= 1.23.0 +Requires: python2-oslo-reports >= 1.18.0 +Requires: python2-oslo-rootwrap >= 5.8.0 +Requires: python2-oslo-serialization >= 2.18.0 +Requires: python2-oslo-service >= 1.24.0 +Requires: python2-oslo-utils >= 3.33.0 +Requires: python2-oslo-versionedobjects >= 1.31.2 +Requires: python2-osprofiler >= 1.4.0 +Requires: python2-ovsdbapp +Requires: python2-paste +Requires: python2-paste-deploy >= 1.5.0 +Requires: python2-pecan >= 1.3.2 +Requires: python2-pbr >= 2.0.0 +Requires: python2-psutil >= 3.2.2 +Requires: python2-pyroute2 >= 0.4.21 +Requires: python2-requests >= 2.14.2 +Requires: python2-tenacity >= 4.4.0 +Requires: python2-routes >= 2.3.1 +Requires: python2-ryu >= 4.24 +Requires: python2-six >= 1.10.0 +Requires: python2-sqlalchemy >= 1.2.0 +Requires: python2-stevedore >= 1.20.0 +Requires: python2-weakrefmethod >= 1.0.2 +Requires: python2-webob >= 1.7.1 + +%description -n python2-neutron +This package contains the Neutron Python library. + + +%package -n python2-neutron-tests +Summary: Neutron tests +Requires: python2-neutron = %{version}-%{release} +Requires: python2-ddt >= 1.0.1 +Requires: python2-fixtures >= 3.0.0 +Requires: python2-mock >= 2.0 +Requires: python2-subunit >= 0.0.18 +Requires: python2-testrepository >= 0.0.18 +Requires: python2-testtools >= 1.4.0 +Requires: python2-testresources >= 0.2.4 +Requires: python2-testscenarios >= 0.4 +Requires: python2-oslotest >= 1.10.0 +Requires: python2-os-testr >= 0.7.0 +Requires: python2-PyMySQL >= 0.6.2 +Requires: python2-tempest >= 12.1.0 +Requires: python2-webtest >= 2.0 +Requires: psmisc +Requires: nfs-utils + +%description -n python2-neutron-tests +This package contains Neutron test files. + + +%package linuxbridge-agent Summary: Neutron Linuxbridge agent +Requires: conntrack-tools +Requires: bridge-utils Requires: ebtables Requires: ipset -Requires: iproute Requires: iptables Requires: kmod -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +Requires: openstack-neutron-common = %{version}-%{release} - -%description linuxbridge -OpenStack Networking (Neutron) +%description linuxbridge-agent This package contains the Neutron agent that implements virtual networks using VLAN or VXLAN using Linuxbridge technology. -%package macvtap-agent -Summary: Neutron macvtap agent -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +%package openvswitch-agent +Summary: Neutron openvswitch plugin +Requires: openstack-neutron-common = %{version}-%{release} +Requires: ipset +Requires: iptables +Requires: openvswitch +Requires: python2-openvswitch >= 2.8.0 +Requires: kmod +%description openvswitch-agent +This package contains the Neutron plugin that implements virtual +networks using Open vSwitch. -%description macvtap-agent -OpenStack Networking (Neutron) -This package contains the Neutron agent that implements -macvtap attachments for libvirt qemu/kvm instances. +%package l3-agent +Summary: Neutron l3 agent +Requires: openstack-neutron-common = %{version}-%{release} -%package ml2 -Summary: Neutron ML2 plugin -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +%description l3-agent +Neutron l3 agent -%description ml2 -OpenStack Networking (Neutron) -This package contains a Neutron plugin that allows the use of drivers -to support separately extensible sets of network types and the mechanisms -for accessing those types. +%package dhcp-agent +Summary: Neutron dhcp agent +Requires: openstack-neutron-common = %{version}-%{release} -%package openvswitch -Summary: Neutron openvswitch plugin -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} -Requires: ipset -Requires: iptables -Requires: openvswitch -Requires: python3-openvswitch >= 2.8.0 -Requires: kmod +%description dhcp-agent +Neutron dhcp agent -%description openvswitch -OpenStack Networking (Neutron) +%package metadata-agent +Summary: Neutron metadata plugin +Requires: openstack-neutron-common = %{version}-%{release} -This package contains the Neutron plugin that implements virtual -networks using Open vSwitch. +%description metadata-agent +Neutron metadata plugin + + +%package macvtap-agent +Summary: Neutron macvtap agent +Requires: openstack-neutron-common = %{version}-%{release} + +%description macvtap-agent +This package contains the Neutron agent that implements +macvtap attachments for libvirt qemu/kvm instances. %package metering-agent Summary: Neutron bandwidth metering agent Requires: iptables -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} - +Requires: openstack-neutron-common = %{version}-%{release} %description metering-agent -OpenStack Networking (Neutron) This package contains the Neutron agent responsible for generating bandwidth utilization notifications. -%package rpc-server -Summary: Neutron (RPC only) Server -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} - - -%description rpc-server -OpenStack Networking (Neutron) -This package contains an alternative Neutron server that handles AMQP RPC -workload only. - - %package sriov-nic-agent Summary: Neutron SR-IOV NIC agent -Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} - +Requires: openstack-neutron-common = %{version}-%{release} %description sriov-nic-agent -OpenStack Networking (Neutron) This package contains the Neutron agent to support advanced features of SR-IOV network cards. -%package ovn-metadata-agent -Summary: OVN metadata agent -BuildRequires: systemd -Requires: python3-%{service} = %{epoch}:%{version}-%{release} -Requires: openvswitch >= 2.8.0 -Provides: python3-networking-ovn-metadata-agent = %{epoch}:%{version}-%{release} -%{?systemd_requires} - -%description ovn-metadata-agent -OVN provides virtual networking for Open vSwitch and is a component of the -Open vSwitch project. - -This package contains the agent that implements the metadata proxy so that VM's -can retrieve metadata from OpenStack Nova. - -%package ovn-migration-tool -Summary: networking-ovn ML2/OVS to OVN migration tool -Requires: python3-%{service} = %{epoch}:%{version}-%{release} -Provides: python3-networking-ovn-migration-tool = %{epoch}:%{version}-%{release} - -%description ovn-migration-tool +%package rpc-server +Summary: Neutron (RPC only) Server +Requires: openstack-neutron-common = %{version}-%{release} -This package provides the necessary tools to update an existing ML2/OVS -OpenStack to OVN based backend. +%description rpc-server +This package contains an alternative Neutron server that handles AMQP RPC +workload only. %prep -%autosetup -n %{service}-%{upstream_version} -S git -sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python3/' %{SOURCE36} +%autosetup -n neutron-12.1.1 -S git -find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + +find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + %py_req_cleanup @@ -327,14 +292,10 @@ rm -rf neutron.egg-info %build export SKIP_PIP_INSTALL=1 -%{py3_build} -%{__python3} setup.py compile_catalog -d build/lib/%{service}/locale -D neutron - -PYTHONPATH=. -for file in `ls etc/oslo-config-generator/*`; do - oslo-config-generator --config-file=$file -done +%{__python2} setup.py build +%{__python2} setup.py compile_catalog -d build/lib/neutron/locale -D neutron +PYTHONPATH=. tools/generate_config_file_samples.sh find etc -name *.sample | while read filename do filedir=$(dirname $filename) @@ -345,68 +306,56 @@ done while read name eq value; do test "$name" && test "$value" || continue if [ "$name" = "notification_driver" ]; then - sed -ri "0,/^$name *=/{s!^$name *=.*!# $name = $value!}" etc/%{service}.conf + sed -ri "0,/^$name *=/{s!^$name *=.*!# $name = $value!}" etc/neutron.conf else - sed -ri "0,/^(#)? *$name *=/{s!^(#)? *$name *=.*!# $name = $value!}" etc/%{service}.conf + sed -ri "0,/^(#)? *$name *=/{s!^(#)? *$name *=.*!# $name = $value!}" etc/neutron.conf fi done < %{SOURCE30} %install -%{py3_install} +%{__python2} setup.py install -O1 --skip-build --root %{buildroot} -rm -rf %{buildroot}%{python3_sitelib}/bin -rm -rf %{buildroot}%{python3_sitelib}/doc -rm -rf %{buildroot}%{python3_sitelib}/tools +rm -rf %{buildroot}%{python2_sitelib}/bin +rm -rf %{buildroot}%{python2_sitelib}/doc +rm -rf %{buildroot}%{python2_sitelib}/tools -install -d -m 755 %{buildroot}%{_datarootdir}/%{service}/rootwrap -mv %{buildroot}/usr/etc/%{service}/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/%{service}/rootwrap +install -d -m 755 %{buildroot}%{_datarootdir}/neutron/rootwrap +mv %{buildroot}/usr/etc/neutron/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/neutron/rootwrap -install -d -m 755 %{buildroot}%{_sysconfdir}/%{service} -mv %{buildroot}/usr/etc/%{service}/* %{buildroot}%{_sysconfdir}/%{service} -mv %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini %{buildroot}%{_datadir}/%{service}/api-paste.ini +install -d -m 755 %{buildroot}%{_sysconfdir}/neutron +mv %{buildroot}/usr/etc/neutron/* %{buildroot}%{_sysconfdir}/neutron +mv %{buildroot}%{_sysconfdir}/neutron/api-paste.ini %{buildroot}%{_datadir}/neutron/api-paste.ini -install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2 +install -d -m 755 %{buildroot}%{_sysconfdir}/neutron/plugins/ml2 -mv etc/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf -mv etc/neutron/ovn.ini %{buildroot}%{_sysconfdir}/%{service}/ovn.ini -for agent in dhcp l3 metadata metering neutron_ovn_metadata +mv etc/neutron.conf %{buildroot}%{_sysconfdir}/neutron/neutron.conf +for agent in dhcp l3 metadata metering do - mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/%{service}/${agent}_agent.ini + mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/neutron/${agent}_agent.ini done for file in linuxbridge_agent ml2_conf openvswitch_agent sriov_agent do - mv etc/%{service}/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2/${file}.ini + mv etc/neutron/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/neutron/plugins/ml2/${file}.ini done -install -d -m 755 %{buildroot}%{_sysconfdir}/neutron/plugins/networking-ovn -ln -s /etc/neutron/neutron_ovn_metadata_agent.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/networking-ovn/networking-ovn-metadata-agent.ini - -ln -s /etc/neutron/ovn.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/networking-ovn/networking-ovn.ini - -ln -s %{_bindir}/neutron-ovn-metadata-agent %{buildroot}%{_bindir}/networking-ovn-metadata-agent - -install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service} - -install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service} - -install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/neutron-server.service -install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/neutron-linuxbridge-agent.service -install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/neutron-openvswitch-agent.service -install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/neutron-dhcp-agent.service -install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/neutron-l3-agent.service -install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/neutron-metadata-agent.service -install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/neutron-ovs-cleanup.service -install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-macvtap-agent.service -install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/neutron-metering-agent.service -install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/neutron-sriov-nic-agent.service -install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/neutron-netns-cleanup.service -install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service -install -p -D -m 644 %{SOURCE32} %{buildroot}%{_unitdir}/neutron-linuxbridge-cleanup.service -install -p -D -m 644 %{SOURCE36} %{buildroot}%{_unitdir}/neutron-destroy-patch-ports.service -install -p -D -m 644 %{SOURCE37} %{buildroot}%{_unitdir}/neutron-ovn-metadata-agent.service - - -ln -s %{_unitdir}/neutron-ovn-metadata-agent.service %{buildroot}%{_unitdir}/networking-ovn-metadata-agent.service +install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-neutron + +install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/neutron + +install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/openstack-neutron-server.service +install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/openstack-neutron-linuxbridge-agent.service +install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/openstack-neutron-openvswitch-agent.service +install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/openstack-neutron-dhcp-agent.service +install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/openstack-neutron-l3-agent.service +install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/openstack-neutron-metadata-agent.service +install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/openstack-neutron-ovs-cleanup.service +install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/openstack-neutron-macvtap-agent.service +install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/openstack-neutron-metering-agent.service +install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/openstack-neutron-sriov-nic-agent.service +install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/openstack-neutron-netns-cleanup.service +install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/openstack-neutron-rpc-server.service +install -p -D -m 644 %{SOURCE32} %{buildroot}%{_unitdir}/openstack-neutron-linuxbridge-cleanup.service +install -p -D -m 644 %{SOURCE36} %{buildroot}%{_unitdir}/openstack-neutron-destroy-patch-ports.service install -p -D -m 755 %{SOURCE33} %{buildroot}%{_bindir}/neutron-enable-bridge-firewall.sh @@ -415,100 +364,118 @@ install -p -D -m 644 %{SOURCE34} %{buildroot}%{_sysctldir}/99-neutron-linuxbridg install -p -D -m 755 %{SOURCE35} %{buildroot}%{_sysconfdir}/sysconfig/modules/neutron-openvswitch-agent.modules install -p -D -m 755 %{SOURCE35} %{buildroot}%{_sysconfdir}/sysconfig/modules/neutron-linuxbridge-agent.modules -install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{service}/conf.d/README +install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/neutron/conf.d/README -install -d -m 755 %{buildroot}%{_datadir}/%{service} -install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service} -install -d -m 755 %{buildroot}%{_localstatedir}/log/%{service} -install -d -m 755 %{buildroot}%{_localstatedir}/run/%{service} -install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/kill_scripts +install -d -m 755 %{buildroot}%{_datadir}/neutron +install -d -m 755 %{buildroot}%{_sharedstatedir}/neutron +install -d -m 755 %{buildroot}%{_localstatedir}/log/neutron +install -d -m 755 %{buildroot}%{_localstatedir}/run/neutron -install -p -D -m 640 %{SOURCE30} %{buildroot}%{_datadir}/%{service}/%{service}-dist.conf +install -p -D -m 640 %{SOURCE30} %{buildroot}%{_datadir}/neutron/neutron-dist.conf -mkdir -p %{buildroot}%{_datadir}/%{service}/l3_agent -ln -s %{_sysconfdir}/%{service}/l3_agent.ini %{buildroot}%{_datadir}/%{service}/l3_agent/l3_agent.conf +mkdir -p %{buildroot}%{_datadir}/neutron/l3_agent +ln -s %{_sysconfdir}/neutron/l3_agent.ini %{buildroot}%{_datadir}/neutron/l3_agent/l3_agent.conf -mkdir -p %{buildroot}%{_datadir}/%{service}/server +mkdir -p %{buildroot}%{_datadir}/neutron/server -mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common +mkdir -p %{buildroot}/%{_sysconfdir}/neutron/conf.d/common for service in server rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup macvtap-agent; do - mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service + mkdir -p %{buildroot}/%{_sysconfdir}/neutron/conf.d/openstack-neutron-$service done -for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic ovn-metadata; do - mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent +for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do + mkdir -p %{buildroot}/%{_sysconfdir}/neutron/conf.d/openstack-neutron-$service-agent done install -d -m 755 %{buildroot}%{_datadir} -rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*/LC_*/%{service}*po -rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*pot -mv %{buildroot}%{python3_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale +rm -f %{buildroot}%{python2_sitelib}/neutron/locale/*/LC_*/neutron*po +rm -f %{buildroot}%{python2_sitelib}/neutron/locale/*pot +mv %{buildroot}%{python2_sitelib}/neutron/locale %{buildroot}%{_datadir}/locale -%find_lang %{service} --all-name +%find_lang neutron --all-name %pre common -getent group %{service} >/dev/null || groupadd -r %{service} -getent passwd %{service} >/dev/null || \ - useradd -r -g %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin \ - -c "OpenStack Neutron Daemons" %{service} +getent group neutron >/dev/null || groupadd -r neutron +getent passwd neutron >/dev/null || \ + useradd -r -g neutron -d %{_sharedstatedir}/neutron -s /sbin/nologin \ + -c "OpenStack Neutron Daemons" neutron exit 0 -%post -%systemd_post neutron-dhcp-agent.service -%systemd_post neutron-l3-agent.service -%systemd_post neutron-metadata-agent.service -%systemd_post neutron-server.service -%systemd_post neutron-netns-cleanup.service -%systemd_post neutron-ovs-cleanup.service -%systemd_post neutron-linuxbridge-cleanup.service +%post server +%systemd_post openstack-neutron-server.service +%systemd_post openstack-neutron-netns-cleanup.service +%systemd_post openstack-neutron-ovs-cleanup.service +%systemd_post openstack-neutron-linuxbridge-cleanup.service +%preun server +%systemd_preun openstack-neutron-server.service +%systemd_preun openstack-neutron-netns-cleanup.service +%systemd_preun openstack-neutron-ovs-cleanup.service +%systemd_preun openstack-neutron-linuxbridge-cleanup.service + +%postun server +%systemd_postun_with_restart openstack-neutron-server.service +%cleanup_orphan_rootwrap_daemons -%preun -%systemd_preun neutron-dhcp-agent.service -%systemd_preun neutron-l3-agent.service -%systemd_preun neutron-metadata-agent.service -%systemd_preun neutron-server.service -%systemd_preun neutron-netns-cleanup.service -%systemd_preun neutron-ovs-cleanup.service -%systemd_preun neutron-linuxbridge-cleanup.service +%post l3-agent +%systemd_post openstack-neutron-l3-agent.service -%postun -%systemd_postun_with_restart neutron-dhcp-agent.service -%systemd_postun_with_restart neutron-l3-agent.service -%systemd_postun_with_restart neutron-metadata-agent.service -%systemd_postun_with_restart neutron-server.service +%preun l3-agent +%systemd_preun openstack-neutron-l3-agent.service + +%postun l3-agent +%systemd_postun_with_restart openstack-neutron-l3-agent.service %cleanup_orphan_rootwrap_daemons -%post macvtap-agent -%systemd_post neutron-macvtap-agent.service +%post dhcp-agent +%systemd_post openstack-neutron-dhcp-agent.service +%preun dhcp-agent +%systemd_preun openstack-neutron-dhcp-agent.service -%preun macvtap-agent -%systemd_preun neutron-macvtap-agent.service +%postun dhcp-agent +%systemd_postun_with_restart openstack-neutron-dhcp-agent.service +%cleanup_orphan_rootwrap_daemons -%postun macvtap-agent -%systemd_postun_with_restart neutron-macvtap-agent.service +%post metadata-agent +%systemd_post openstack-neutron-metadata-agent.service + +%preun metadata-agent +%systemd_preun openstack-neutron-metadata-agent.service + +%postun metadata-agent +%systemd_postun_with_restart openstack-neutron-metadata-agent.service %cleanup_orphan_rootwrap_daemons -%post linuxbridge -%systemd_post neutron-linuxbridge-agent.service +%post macvtap-agent +%systemd_post openstack-neutron-macvtap-agent.service + +%preun macvtap-agent +%systemd_preun openstack-neutron-macvtap-agent.service + +%postun macvtap-agent +%systemd_postun_with_restart openstack-neutron-macvtap-agent.service +%cleanup_orphan_rootwrap_daemons -%preun linuxbridge -%systemd_preun neutron-linuxbridge-agent.service +%post linuxbridge-agent +%systemd_post openstack-neutron-linuxbridge-agent.service +%preun linuxbridge-agent +%systemd_preun openstack-neutron-linuxbridge-agent.service -%postun linuxbridge -%systemd_postun_with_restart neutron-linuxbridge-agent.service +%postun linuxbridge-agent +%systemd_postun_with_restart openstack-neutron-linuxbridge-agent.service %cleanup_orphan_rootwrap_daemons -%post openvswitch -%systemd_post neutron-openvswitch-agent.service -%systemd_post neutron-destroy-patch-ports.service + +%post openvswitch-agent +%systemd_post openstack-neutron-openvswitch-agent.service +%systemd_post openstack-neutron-destroy-patch-ports.service if [ $1 -ge 2 ]; then ovs_agent_running=0 @@ -521,146 +488,138 @@ if [ $1 -ge 2 ]; then [ $ovs_agent_running -eq 1 ] && systemctl start neutron-openvswitch-agent > /dev/null 2>&1 || : fi +%preun openvswitch-agent +%systemd_preun openstack-neutron-openvswitch-agent.service +%systemd_preun openstack-neutron-destroy-patch-ports.service -%preun openvswitch -%systemd_preun neutron-openvswitch-agent.service -%systemd_preun neutron-destroy-patch-ports.service +%postun openvswitch-agent +%systemd_postun_with_restart openstack-neutron-openvswitch-agent.service +%cleanup_orphan_rootwrap_daemons %post metering-agent -%systemd_post neutron-metering-agent.service - +%systemd_post openstack-neutron-metering-agent.service %preun metering-agent -%systemd_preun neutron-metering-agent.service - +%systemd_preun openstack-neutron-metering-agent.service %postun metering-agent -%systemd_postun_with_restart neutron-metering-agent.service +%systemd_postun_with_restart openstack-neutron-metering-agent.service %cleanup_orphan_rootwrap_daemons %post sriov-nic-agent -%systemd_post neutron-sriov-nic-agent.service - +%systemd_post openstack-neutron-sriov-nic-agent.service %preun sriov-nic-agent -%systemd_preun neutron-sriov-nic-agent.service - +%systemd_preun openstack-neutron-sriov-nic-agent.service %postun sriov-nic-agent -%systemd_postun_with_restart neutron-sriov-nic-agent.service +%systemd_postun_with_restart openstack-neutron-sriov-nic-agent.service %cleanup_orphan_rootwrap_daemons - -%post ovn-metadata-agent -%systemd_post neutron-ovn-metadata-agent.service - - -%preun ovn-metadata-agent -%systemd_preun neutron-ovn-metadata-agent.service - - -%postun ovn-metadata-agent -%systemd_postun_with_restart neutron-ovn-metadata-agent.service - - %files + +%files server %license LICENSE %{_bindir}/neutron-api %{_bindir}/neutron-db-manage %{_bindir}/neutron-debug -%{_bindir}/neutron-dhcp-agent %{_bindir}/neutron-ipset-cleanup %{_bindir}/neutron-keepalived-state-change -%{_bindir}/neutron-l3-agent %{_bindir}/neutron-linuxbridge-cleanup -%{_bindir}/neutron-metadata-agent %{_bindir}/neutron-netns-cleanup %{_bindir}/neutron-ovs-cleanup %{_bindir}/neutron-pd-notify %{_bindir}/neutron-sanity-check -%{_bindir}/neutron-status %{_bindir}/neutron-server %{_bindir}/neutron-usage-audit -%{_bindir}/neutron-ovn-metadata-agent -%{_bindir}/networking-ovn-metadata-agent -%{_bindir}/neutron-ovn-db-sync-util -%{_unitdir}/neutron-dhcp-agent.service -%{_unitdir}/neutron-l3-agent.service -%{_unitdir}/neutron-metadata-agent.service -%{_unitdir}/neutron-server.service -%{_unitdir}/neutron-netns-cleanup.service -%{_unitdir}/neutron-ovs-cleanup.service -%{_unitdir}/neutron-linuxbridge-cleanup.service -%attr(-, root, %{service}) %{_datadir}/%{service}/api-paste.ini -%dir %{_datadir}/%{service}/l3_agent -%dir %{_datadir}/%{service}/server -%{_datadir}/%{service}/l3_agent/*.conf -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/dhcp_agent.ini -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/l3_agent.ini -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metadata_agent.ini -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-dhcp-agent -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-l3-agent -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-metadata-agent -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-server -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-netns-cleanup -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-ovs-cleanup -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-cleanup -%dir %{_sysconfdir}/%{service}/kill_scripts - - -%files -n python3-%{service}-tests +%{_unitdir}/openstack-neutron-server.service +%{_unitdir}/openstack-neutron-netns-cleanup.service +%{_unitdir}/openstack-neutron-ovs-cleanup.service +%{_unitdir}/openstack-neutron-linuxbridge-cleanup.service +%attr(-, root, neutron) %{_datadir}/neutron/api-paste.ini +%dir %{_datadir}/neutron/server +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/policy.json +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-server +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-netns-cleanup +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-ovs-cleanup +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-linuxbridge-cleanup + +%files l3-agent %license LICENSE -%{python3_sitelib}/%{service}/tests +%{_bindir}/neutron-l3-agent +%{_unitdir}/openstack-neutron-l3-agent.service +%dir %{_datadir}/neutron/l3_agent +%{_datadir}/neutron/l3_agent/*.conf +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/l3_agent.ini +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-l3-agent -%files -n python3-%{service} +%files dhcp-agent %license LICENSE -%{python3_sitelib}/%{service} -%{python3_sitelib}/%{service}-*.egg-info -%exclude %{python3_sitelib}/%{service}/tests +%{_bindir}/neutron-dhcp-agent +%{_unitdir}/openstack-neutron-dhcp-agent.service +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/dhcp_agent.ini +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-dhcp-agent +%files metadata-agent +%license LICENSE +%{_bindir}/neutron-metadata-agent +%{_unitdir}/openstack-neutron-metadata-agent.service +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metadata_agent.ini +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-metadata-agent -%files common -f %{service}.lang +%files -n python2-neutron-tests +%license LICENSE +%{python2_sitelib}/neutron/tests + +%files -n python2-neutron +%license LICENSE +%{python2_sitelib}/neutron +%{python2_sitelib}/neutron-*.egg-info +%exclude %{python2_sitelib}/neutron/tests + + +%files common -f neutron.lang %license LICENSE %doc README.rst %{_bindir}/neutron-enable-bridge-firewall.sh %{_bindir}/neutron-rootwrap %{_bindir}/neutron-rootwrap-daemon -%dir %{_sysconfdir}/%{service} -%{_sysconfdir}/%{service}/conf.d/README -%dir %{_sysconfdir}/%{service}/conf.d -%dir %{_sysconfdir}/%{service}/conf.d/common -%dir %{_sysconfdir}/%{service}/plugins -%attr(-, root, %{service}) %{_datadir}/%{service}/%{service}-dist.conf -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/ovn.ini -%{_sysconfdir}/%{service}/plugins/networking-ovn/networking-ovn.ini -%config(noreplace) %{_sysconfdir}/%{service}/rootwrap.conf +%{_bindir}/neutron-rootwrap-xen-dom0 +%dir %{_sysconfdir}/neutron +%{_sysconfdir}/neutron/conf.d/README +%dir %{_sysconfdir}/neutron/conf.d +%dir %{_sysconfdir}/neutron/conf.d/common +%dir %{_sysconfdir}/neutron/plugins +%attr(-, root, neutron) %{_datadir}/neutron/neutron-dist.conf +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/neutron.conf +%config(noreplace) %{_sysconfdir}/neutron/rootwrap.conf %config(noreplace) %{_sysconfdir}/logrotate.d/* -%{_sysconfdir}/sudoers.d/%{service} -%dir %attr(0755, %{service}, %{service}) %{_sharedstatedir}/%{service} -%dir %attr(0750, %{service}, %{service}) %{_localstatedir}/log/%{service} -%dir %{_datarootdir}/%{service} -%dir %{_datarootdir}/%{service}/rootwrap -%{_datarootdir}/%{service}/rootwrap/debug.filters -%{_datarootdir}/%{service}/rootwrap/dhcp.filters -%{_datarootdir}/%{service}/rootwrap/dibbler.filters -%{_datarootdir}/%{service}/rootwrap/ebtables.filters -%{_datarootdir}/%{service}/rootwrap/ipset-firewall.filters -%{_datarootdir}/%{service}/rootwrap/iptables-firewall.filters -%{_datarootdir}/%{service}/rootwrap/l3.filters -%{_datarootdir}/%{service}/rootwrap/privsep.filters - - -%files linuxbridge +%{_sysconfdir}/sudoers.d/neutron +%dir %attr(0755, neutron, neutron) %{_sharedstatedir}/neutron +%dir %attr(0750, neutron, neutron) %{_localstatedir}/log/neutron +%dir %{_datarootdir}/neutron +%dir %{_datarootdir}/neutron/rootwrap +%{_datarootdir}/neutron/rootwrap/debug.filters +%{_datarootdir}/neutron/rootwrap/dhcp.filters +%{_datarootdir}/neutron/rootwrap/dibbler.filters +%{_datarootdir}/neutron/rootwrap/ebtables.filters +%{_datarootdir}/neutron/rootwrap/ipset-firewall.filters +%{_datarootdir}/neutron/rootwrap/iptables-firewall.filters +%{_datarootdir}/neutron/rootwrap/l3.filters +%{_datarootdir}/neutron/rootwrap/netns-cleanup.filters +%{_datarootdir}/neutron/rootwrap/privsep.filters + + +%files linuxbridge-agent %license LICENSE %{_bindir}/neutron-linuxbridge-agent -%{_unitdir}/neutron-linuxbridge-agent.service -%{_datarootdir}/%{service}/rootwrap/linuxbridge-plugin.filters -%dir %{_sysconfdir}/%{service}/plugins/ml2 -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-agent +%{_unitdir}/openstack-neutron-linuxbridge-agent.service +%{_datarootdir}/neutron/rootwrap/linuxbridge-plugin.filters +%dir %{_sysconfdir}/neutron/plugins/ml2 +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ml2/linuxbridge_agent.ini +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-linuxbridge-agent %{_sysctldir}/99-neutron-linuxbridge-agent.conf %{_sysconfdir}/sysconfig/modules/neutron-linuxbridge-agent.modules @@ -668,74 +627,61 @@ fi %files macvtap-agent %license LICENSE %{_bindir}/neutron-macvtap-agent -%{_unitdir}/neutron-macvtap-agent.service -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-macvtap-agent +%{_unitdir}/openstack-neutron-macvtap-agent.service +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-macvtap-agent %files ml2 %license LICENSE -%doc %{service}/plugins/ml2/README -%dir %{_sysconfdir}/%{service}/plugins/ml2 -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/*.ini -%exclude %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini -%exclude %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini +%doc neutron/plugins/ml2/README +%dir %{_sysconfdir}/neutron/plugins/ml2 +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ml2/*.ini +%exclude %{_sysconfdir}/neutron/plugins/ml2/linuxbridge_agent.ini +%exclude %{_sysconfdir}/neutron/plugins/ml2/openvswitch_agent.ini -%files openvswitch +%files openvswitch-agent %license LICENSE %{_bindir}/neutron-openvswitch-agent -%{_unitdir}/neutron-openvswitch-agent.service -%{_unitdir}/neutron-destroy-patch-ports.service -%{_datarootdir}/%{service}/rootwrap/openvswitch-plugin.filters -%dir %{_sysconfdir}/%{service}/plugins/ml2 -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-openvswitch-agent +%{_unitdir}/openstack-neutron-openvswitch-agent.service +%{_unitdir}/openstack-neutron-destroy-patch-ports.service +%{_datarootdir}/neutron/rootwrap/openvswitch-plugin.filters +%dir %{_sysconfdir}/neutron/plugins/ml2 +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ml2/openvswitch_agent.ini +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-openvswitch-agent %{_sysctldir}/99-neutron-openvswitch-agent.conf %{_sysconfdir}/sysconfig/modules/neutron-openvswitch-agent.modules %files metering-agent %license LICENSE -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini -%{_unitdir}/neutron-metering-agent.service +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metering_agent.ini +%{_unitdir}/openstack-neutron-metering-agent.service %{_bindir}/neutron-metering-agent -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-metering-agent +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-metering-agent %files rpc-server %license LICENSE %{_bindir}/neutron-rpc-server -%{_unitdir}/neutron-rpc-server.service -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server +%{_unitdir}/openstack-neutron-rpc-server.service +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-rpc-server %files sriov-nic-agent %license LICENSE -%{_unitdir}/neutron-sriov-nic-agent.service +%{_unitdir}/openstack-neutron-sriov-nic-agent.service %{_bindir}/neutron-sriov-nic-agent -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/sriov_agent.ini -%dir %{_sysconfdir}/%{service}/conf.d/%{service}-sriov-nic-agent - +%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ml2/sriov_agent.ini +%dir %{_sysconfdir}/neutron/conf.d/openstack-neutron-sriov-nic-agent -%files ovn-metadata-agent -%license LICENSE -%{_bindir}/neutron-ovn-metadata-agent -%{_bindir}/networking-ovn-metadata-agent -%{_unitdir}/neutron-ovn-metadata-agent.service -%{_unitdir}/networking-ovn-metadata-agent.service -%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/neutron_ovn_metadata_agent.ini -%dir %{_sysconfdir}/neutron/plugins/networking-ovn -%{_sysconfdir}/neutron/plugins/networking-ovn/networking-ovn-metadata-agent.ini -/etc/neutron/plugins/networking-ovn/networking-ovn.ini -%dir %{_sysconfdir}/neutron/conf.d/neutron-ovn-metadata-agent - - -%files ovn-migration-tool -%license LICENSE -%{_bindir}/neutron-ovn-migration-mtu -%{_bindir}/ovn_migration.sh -%{_datadir}/ansible/neutron-ovn-migration/ %changelog -* Fri Jan 15 2021 joec88 1:17.0.0-1 -- openEuler build release +* Wed Aug 03 2022 zhangy +- Fix CVE-2021-40085 +* Tue Jun 15 2021 wangxiyuan +- Update systemd config file +* Tue Jun 08 2021 wangxiyuan +- Refactor neutron package structure. +* Mon May 17 2021 openstack-sig +- Package Spec generated