commit:     161c023bb9086cb59d6a6ebc24ac191f7fd9678a
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed Mar 30 15:05:25 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Wed Mar 30 15:06:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=161c023b

sys-cluster/neutron: add 20.0.0.0_rc1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-cluster/neutron/Manifest                       |   1 +
 sys-cluster/neutron/files/neutron.logrotate        |   7 +
 sys-cluster/neutron/files/neutron.tmpfile          |   1 +
 .../files/openstack-neutron-dhcp-agent.service     |  14 ++
 .../files/openstack-neutron-l3-agent.service       |  14 ++
 .../openstack-neutron-linuxbridge-agent.service    |  15 ++
 .../openstack-neutron-linuxbridge-cleanup.service  |  15 ++
 .../files/openstack-neutron-metadata-agent.service |  14 ++
 .../files/openstack-neutron-metering-agent.service |  14 ++
 .../files/openstack-neutron-netns-cleanup.service  |  15 ++
 .../files/openstack-neutron-ovs-cleanup.service    |  16 ++
 .../neutron/files/openstack-neutron-server.service |  15 ++
 sys-cluster/neutron/neutron-20.0.0.0_rc1.ebuild    | 252 +++++++++++++++++++++
 13 files changed, 393 insertions(+)

diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
index 540f994cd..12e3ce6ba 100644
--- a/sys-cluster/neutron/Manifest
+++ b/sys-cluster/neutron/Manifest
@@ -1,3 +1,4 @@
 DIST neutron-17.1.2.tar.gz 12930231 BLAKE2B 
865e849fb811b3abf8b589ea5752c9305962ed24bcd69a4998425a1d56abcadd87f224e883269b780655f252d40dd050805782080385d94163b5488ffbdbf52a
 SHA512 
1320c96ba5b3b2de5feb313b564baa7308b3b964c628afa57e60ed8f541549b11ddaa0ea1e4025dc0265ad1d962f0961fdc93924fcdde98c9b7c3c23728a3ebd
+DIST neutron-20.0.0.0rc1.tar.gz 13257195 BLAKE2B 
1c6fc5574b9d4753bf4d99d3589fb6b49b1f3107b47d0d23da7b5cfd118e90c92ffb9c739342fc3d1f2b075c81deb919aa871ae0a65c09e97b13b34eff4a777b
 SHA512 
6b5b05fe77afc78a503f3c77473ab9bd5ebee692606acb97d2ce499b9580ec03056687496fff72f99b0ed3e1862ad6b6bc013eb5f4186df623d20638a6c0293c
 DIST neutron-configs-17.1.2.tar.gz 30314 BLAKE2B 
885d00259fde0200f6a52d91b18e884012c04cb06e5e4ba6c72b77fbb0a8df30d50efd6db16faa009328eac9b7c5fb31854feb81595a542b4ac5d8172c8056b6
 SHA512 
cf85a563c417e1fb01f7d329c7021c20782fe67f64c5dfd542deed07e09d6a717e472976df8f1f4c3bb4a6a10e8d8b8300f18e1a3759358b3db12f77dad7bd5b
 DIST neutron-ml2-plugins-17.1.2.tar.gz 9011 BLAKE2B 
d9f8cb4d26699ca44a4cf4cd422bd88b9bb5a2138a80fec469021491d87b158502801c2ce79316f52a900877f7706dc93c2a5a5a33c868918effeaa6b65a7931
 SHA512 
a225310f0f54991a079d515512189b3c08de22c5b13d58960ef24498401fc54b0878ed879d895e696b789e703a0bb3f4a184eccbbfb9ac9fe9447086cb952b37

diff --git a/sys-cluster/neutron/files/neutron.logrotate 
b/sys-cluster/neutron/files/neutron.logrotate
new file mode 100644
index 000000000..c39eca5e9
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.logrotate
@@ -0,0 +1,7 @@
+/var/log/neutron/*.log {
+    daily
+    missingok
+    compress
+    delaycompress
+    copytruncate
+}

diff --git a/sys-cluster/neutron/files/neutron.tmpfile 
b/sys-cluster/neutron/files/neutron.tmpfile
new file mode 100644
index 000000000..d9a582460
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.tmpfile
@@ -0,0 +1 @@
+d /run/neutron 0755 neutron neutron -

diff --git a/sys-cluster/neutron/files/openstack-neutron-dhcp-agent.service 
b/sys-cluster/neutron/files/openstack-neutron-dhcp-agent.service
new file mode 100644
index 000000000..a407f5686
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-dhcp-agent.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OpenStack Neutron DHCP Agent
+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
+PrivateTmp=false
+KillMode=process
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/files/openstack-neutron-l3-agent.service 
b/sys-cluster/neutron/files/openstack-neutron-l3-agent.service
new file mode 100644
index 000000000..469d3ce17
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-l3-agent.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OpenStack Neutron Layer 3 Agent
+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
+PrivateTmp=false
+KillMode=process
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target

diff --git 
a/sys-cluster/neutron/files/openstack-neutron-linuxbridge-agent.service 
b/sys-cluster/neutron/files/openstack-neutron-linuxbridge-agent.service
new file mode 100644
index 000000000..957e3bc63
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-linuxbridge-agent.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=OpenStack Neutron Linux Bridge Agent
+After=syslog.target network.target
+
+[Service]
+Type=simple
+User=neutron
+PermissionsStartOnly=true
+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
+PrivateTmp=true
+KillMode=process
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target

diff --git 
a/sys-cluster/neutron/files/openstack-neutron-linuxbridge-cleanup.service 
b/sys-cluster/neutron/files/openstack-neutron-linuxbridge-cleanup.service
new file mode 100644
index 000000000..aeac97497
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-linuxbridge-cleanup.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=OpenStack Neutron Linux Bridge Cleanup Utility
+After=syslog.target network.target
+Before=openstack-neutron-linuxbridge-agent.service 
openstack-neutron-dhcp-agent.service openstack-neutron-l3-agent.service 
openstack-nova-compute.service
+
+[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-agent.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-agent.log
+PrivateTmp=true
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/files/openstack-neutron-metadata-agent.service 
b/sys-cluster/neutron/files/openstack-neutron-metadata-agent.service
new file mode 100644
index 000000000..62a3106ce
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-metadata-agent.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OpenStack Neutron Metadata Agent
+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
+PrivateTmp=false
+KillMode=process
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/files/openstack-neutron-metering-agent.service 
b/sys-cluster/neutron/files/openstack-neutron-metering-agent.service
new file mode 100644
index 000000000..618b341c2
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-metering-agent.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OpenStack Neutron Metering Agent
+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
+PrivateTmp=false
+KillMode=process
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/files/openstack-neutron-netns-cleanup.service 
b/sys-cluster/neutron/files/openstack-neutron-netns-cleanup.service
new file mode 100644
index 000000000..71b9ee48e
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-netns-cleanup.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=OpenStack Neutron Netns Cleanup Utility
+After=syslog.target network.target openvswitch.service
+Before=openstack-neutron-openvswitch-agent.service 
openstack-neutron-dhcp-agent.service openstack-neutron-l3-agent.service 
openstack-nova-compute.service
+
+[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/dhcp-agent.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 --force --log-file 
/var/log/neutron/dhcp-agent.log
+PrivateTmp=false
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/files/openstack-neutron-ovs-cleanup.service 
b/sys-cluster/neutron/files/openstack-neutron-ovs-cleanup.service
new file mode 100644
index 000000000..720792525
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-ovs-cleanup.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OpenStack Neutron Open vSwitch Cleanup Utility
+After=syslog.target network.target openvswitch.service
+Before=openstack-neutron-openvswitch-agent.service 
openstack-neutron-dhcp-agent.service openstack-neutron-l3-agent.service 
openstack-nova-compute.service
+
+[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/openvswitch-agent.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/openvswitch-agent.log
+PrivateTmp=true
+RemainAfterExit=yes
+TimeoutSec=0
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/files/openstack-neutron-server.service 
b/sys-cluster/neutron/files/openstack-neutron-server.service
new file mode 100644
index 000000000..275202b61
--- /dev/null
+++ b/sys-cluster/neutron/files/openstack-neutron-server.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=OpenStack Neutron Server
+After=syslog.target network.target
+[Service]
+Type=notify
+User=neutron
+ExecStart=/usr/bin/neutron-server --config-file 
/usr/share/neutron/neutron-dist.conf --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
+PrivateTmp=true
+NotifyAccess=all
+KillMode=process
+Restart=on-failure
+TimeoutStartSec=0
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-cluster/neutron/neutron-20.0.0.0_rc1.ebuild 
b/sys-cluster/neutron/neutron-20.0.0.0_rc1.ebuild
new file mode 100644
index 000000000..40c4358f9
--- /dev/null
+++ b/sys-cluster/neutron/neutron-20.0.0.0_rc1.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP="${P//_/}"
+PYTHON_COMPAT=( python3_{8..9} )
+
+inherit distutils-r1 linux-info systemd tmpfiles
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="
+       https://launchpad.net/neutron
+       https://opendev.org/openstack/neutron
+       https://pypi.org/project/neutron/
+"
+SRC_URI="https://tarballs.openstack.org/${PN}/${MYP}.tar.gz";
+S="${WORKDIR}/${MYP}"
+
+KEYWORDS=""
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge 
server sqlite +mysql postgres"
+
+RDEPEND="
+       >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]
+       >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+       >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+       >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+       >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
+       >=dev-python/decorator-4.1.0[${PYTHON_USEDEP}]
+       >=dev-python/eventlet-0.26.1[${PYTHON_USEDEP}]
+       >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+       >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+       >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+       >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+       >=dev-python/keystonemiddleware-5.1.0[${PYTHON_USEDEP}]
+       >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+       >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+       >=dev-python/neutron-lib-2.20.0[${PYTHON_USEDEP}]
+       >=dev-python/python-neutronclient-7.8.0[${PYTHON_USEDEP}]
+       >=dev-python/tenacity-6.0.0[${PYTHON_USEDEP}]
+       >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+       >=dev-python/keystoneauth-3.14.0[${PYTHON_USEDEP}]
+       >=dev-python/alembic-1.6.5[${PYTHON_USEDEP}]
+       >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+       >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-config-8.0.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-context-2.22.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-log-4.5.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-policy-3.10.1[${PYTHON_USEDEP}]
+       >=dev-python/oslo-privsep-2.3.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-rootwrap-5.15.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-serialization-2.25.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-service-2.8.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-upgradecheck-1.3.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-utils-4.8.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+       >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+       >=dev-python/os-ken-2.0.0[${PYTHON_USEDEP}]
+       >=dev-python/os-resource-classes-1.1.0[${PYTHON_USEDEP}]
+       >=dev-python/ovs-2.10.0[${PYTHON_USEDEP}]
+       >=dev-python/ovsdbapp-1.15.0[${PYTHON_USEDEP}]
+       >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+       >=dev-python/psutil-5.3.0[${PYTHON_USEDEP}]
+       >=dev-python/pyroute2-0.6.4[${PYTHON_USEDEP}]
+       >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
+       >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+       >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+       >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+       >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}]
+       >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+       >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+
+       compute-only? (
+               >=dev-python/sqlalchemy-1.3.23[${PYTHON_USEDEP}]
+       )
+       dhcp? ( net-dns/dnsmasq[dhcp-tools] )
+       haproxy? ( net-proxy/haproxy )
+       ipv6? (
+               net-misc/radvd
+               >=net-misc/dibbler-1.0.1
+       )
+       mysql? (
+               >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+               >=dev-python/sqlalchemy-1.3.23[${PYTHON_USEDEP}]
+       )
+       openvswitch? ( net-misc/openvswitch )
+       postgres? (
+               >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+               >=dev-python/sqlalchemy-1.3.23[${PYTHON_USEDEP}]
+       )
+       sqlite? (
+               >=dev-python/sqlalchemy-1.3.23[sqlite,${PYTHON_USEDEP}]
+       )
+
+       acct-group/neutron
+       acct-user/neutron
+       dev-python/pyudev[${PYTHON_USEDEP}]
+       net-misc/bridge-utils
+       net-misc/iputils[arping]
+       net-firewall/conntrack-tools
+       net-firewall/ebtables
+       net-firewall/ipset
+       net-firewall/iptables
+       sys-apps/iproute2
+"
+DEPEND="
+       ${RDEPEND}
+       app-admin/sudo
+"
+BDEPEND="
+       test? (
+               >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+               >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
+               >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+               >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+               >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+               >=dev-python/webtest-2.0.27[${PYTHON_USEDEP}]
+               >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+               >=dev-python/stestr-1.0.0[${PYTHON_USEDEP}]
+               >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+       )
+"
+
+distutils_enable_tests pytest
+
+REQUIRED_USE="
+       !compute-only? (
+               || ( mysql postgres sqlite )
+       )
+       compute-only? (
+               !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+               || ( openvswitch linuxbridge )
+       )
+       test? ( mysql )
+"
+
+pkg_pretend() {
+       linux-info_pkg_setup
+       CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES 
IP_NF_TARGET_REJECT \
+       IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_DEFRAG_IPV4 NF_NAT 
NF_CONNTRACK \
+       IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+       if linux_config_exists; then
+               for module in ${CONFIG_CHECK_MODULES}; do
+                       linux_chkconfig_present ${module} || ewarn "${module} 
needs to be enabled in kernel"
+               done
+       fi
+}
+
+pkg_config() {
+       fperms 0700 /var/log/neutron
+       fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+       sed -i '/^hacking/d' test-requirements.txt || die
+       # it's /bin/ip not /sbin/ip
+       sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+       distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+       ./tools/generate_config_file_samples.sh || die
+       oslopolicy-sample-generator 
--config-file=etc/oslo-policy-generator/policy.conf || die
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+
+       newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+       newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+       dosym ../../plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+       newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+       newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+       newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+       newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+       newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+       newconfd "${FILESDIR}/neutron-metadata-agent.confd" 
"neutron-metadata-agent"
+       newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+       newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" 
"neutron-openvswitch-agent"
+       newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+       newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" 
"neutron-ovs-cleanup"
+       newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+       newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" 
"neutron-linuxbridge-agent"
+
+       for svc in {dhcp,l3,linuxbridge,metadata,metering}_agent 
{linuxbridge,netns,ovs}_cleanup server ; do
+               systemd_dounit "${FILESDIR}/openstack-neutron-${svc}.service"
+       done
+
+       diropts -m 755 -o neutron -g neutron
+       dodir /var/log/neutron /var/lib/neutron
+       keepdir /etc/neutron
+       insinto /etc/neutron
+       insopts -m 0640 -o neutron -g neutron
+
+       insinto /etc/neutron
+       doins etc/api-paste.ini
+       doins etc/policy.yaml.sample
+
+       for i in l3 dhcp metadata metering neutron_ovn_metadata ; do
+               doins "etc/${i}_agent.ini.sample"
+       done
+
+       doins "etc/neutron.conf.sample"
+       doins "etc/neutron/ovn.ini.sample"
+
+       doins -r "etc/neutron/plugins"
+       insopts -m 0640 -o root -g root
+       doins "etc/rootwrap.conf"
+       doins -r "etc/neutron/rootwrap.d"
+
+       newtmpfiles "${FILESDIR}/neutron.tmpfile" neutron.conf
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/neutron.logrotate" neutron.conf
+
+       #add sudoers definitions for user neutron
+       insinto /etc/sudoers.d/
+       insopts -m 0440 -o root -g root
+       newins "${FILESDIR}/neutron.sudoersd" neutron
+
+       # correcting perms
+       fowners neutron:neutron -R "/etc/neutron"
+       fperms o-rwx -R "/etc/neutron/"
+
+       #remove superfluous stuff
+       rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+       distutils-r1_python_install
+       # copy migration conf file (not coppied on install via setup.py script)
+       python_moduleinto neutron/db/migration/alembic_migrations
+       python_domodule "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+       elog
+       elog "neutron-server's conf.d file may need updating to include 
additional ini files"
+       elog "We currently assume the ml2 plugin will be used but do not make 
assumptions"
+       elog "on if you will use openvswitch or linuxbridge (or something else)"
+       elog
+       elog "Other conf.d files may need updating too, but should be good for 
the default use case"
+       elog
+}

Reply via email to