From: Mikhail Ivanov Date: Mon, 2 Nov 2015 14:46:51 +0000 (+0300) Subject: Rebuild neutron in 8.0 branch X-Git-Tag: mos-9.0~12^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;ds=sidebyside;h=f434d0b4aa31eaa1e6bad0a670c1cb0d08acc64c;p=openstack-build%2Fneutron-build.git Rebuild neutron in 8.0 branch Change-Id: I6901fec1baba4bbe29ad161452e90a65378655be --- diff --git a/centos7/rpm/SOURCES/conf.README b/centos7/rpm/SOURCES/conf.README new file mode 100644 index 000000000..ee8799767 --- /dev/null +++ b/centos7/rpm/SOURCES/conf.README @@ -0,0 +1,9 @@ +This directory can be used to configure Neutron services with custom +user-defined configuration files. To use the facility, just drop a file (or a +symlink) that has .conf file name extension into an appropriate directory to +make a service read it during initialization. 'common' directory is read by all +Neutron services. + +Note that user-defined configuration files override any configuration values +defined in other files read by services. Service specific configuration +directories beat common one. diff --git a/centos7/rpm/SOURCES/neutron-dev-server.service b/centos7/rpm/SOURCES/neutron-dev-server.service new file mode 100644 index 000000000..e971c9022 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-dev-server.service @@ -0,0 +1,14 @@ +[Unit] +Description=OpenStack Neutron Server (WSGI pecan) +After=syslog.target network.target + +[Service] +Type=notify +User=neutron +ExecStart=/usr/bin/neutron-dev-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-dev-server --log-file /var/log/neutron/dev-server.log +PrivateTmp=true +NotifyAccess=all +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-dhcp-agent.service b/centos7/rpm/SOURCES/neutron-dhcp-agent.service new file mode 100644 index 000000000..c03daa218 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-dhcp-agent.service @@ -0,0 +1,13 @@ +[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 + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-dist.conf b/centos7/rpm/SOURCES/neutron-dist.conf new file mode 100644 index 000000000..479da8e8a --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-dist.conf @@ -0,0 +1,19 @@ +[DEFAULT] +verbose = True +lock_path = $state_path/lock +auth_strategy = noauth +notification_driver = neutron.openstack.common.notifier.rpc_notifier +allow_overlapping_ips = True +use_stderr = False +api_paste_config = /usr/share/neutron/api-paste.ini +notify_nova_on_port_data_changes = False +notify_nova_on_port_status_changes = False + +[agent] +root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf +root_helper_daemon = sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf + +[database] +max_pool_size = 10 +max_overflow = 20 +pool_timeout = 10 diff --git a/centos7/rpm/SOURCES/neutron-l3-agent.service b/centos7/rpm/SOURCES/neutron-l3-agent.service new file mode 100644 index 000000000..2c9f291b2 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-l3-agent.service @@ -0,0 +1,13 @@ +[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 + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-linuxbridge-agent.service b/centos7/rpm/SOURCES/neutron-linuxbridge-agent.service new file mode 100644 index 000000000..e647962bd --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-linuxbridge-agent.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Neutron Linux Bridge Agent +After=syslog.target network.target + +[Service] +Type=simple +User=neutron +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 + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-metadata-agent.service b/centos7/rpm/SOURCES/neutron-metadata-agent.service new file mode 100644 index 000000000..43bd940c5 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-metadata-agent.service @@ -0,0 +1,13 @@ +[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 + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-metering-agent.service b/centos7/rpm/SOURCES/neutron-metering-agent.service new file mode 100644 index 000000000..703864e43 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-metering-agent.service @@ -0,0 +1,13 @@ +[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 + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-mlnx-agent.service b/centos7/rpm/SOURCES/neutron-mlnx-agent.service new file mode 100644 index 000000000..3eb1850ed --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-mlnx-agent.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Neutron Mellanox Agent +After=syslog.target network.target + +[Service] +Type=simple +User=neutron +ExecStart=/usr/bin/neutron-mlnx-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/mlnx/mlnx_conf.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-mlnx-agent --log-file /var/log/neutron/mlnx-agent.log +PrivateTmp=true +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-netns-cleanup.init b/centos7/rpm/SOURCES/neutron-netns-cleanup.init new file mode 100644 index 000000000..f7b921bcf --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-netns-cleanup.init @@ -0,0 +1,73 @@ +#!/bin/bash +# +# neutron-netns-cleanup OpenStack Neutron netns cleanup utility +# +# chkconfig: - 97 02 +# description: OpenStack Neutron netns cleanup utility +# +# This is a one-shot init.d script with the next properties: +# +# * It accepts 3 verbs: start, stop, status +# * It cleans unused resources during start (system or agents startup) +# * It cleans everything on stop (agents migration to other hosts) +# * Once started, it will respond with status = OK +# * Once stopped, it will respond with status = DEAD +# +### END INIT INFO + +. /etc/rc.d/init.d/functions + +proj=neutron +prog=$proj-netns-cleanup +exec="/usr/bin/$prog" +configs=( + "/usr/share/$proj/$proj-dist.conf" \ + "/etc/$proj/$proj.conf" \ + "/etc/$proj/dhcp_agent.ini" +) +configs_str=${configs[@]/#/--config-file } + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +clean() { + cleanopts="$@" + [ -x $exec ] || exit 5 + for config in ${configs[@]}; do + [ -f $config ] || exit 6 + done + runuser -s /bin/bash neutron -c "$exec $cleanopts --log-file /var/log/$proj/netns-cleanup.log $configs_str &>/dev/null" + if [ "x$1" == "x--force" ]; then + killall neutron-ns-metadata-proxy 2>/dev/null || : + killall neutron-keepalived-state-change 2>/dev/null || : + kill $(ps ax | grep -e "keepalived.*\.pid-vrrp" | awk '{print $1}') 2>/dev/null || : + kill $(ps ax | grep -e "radvd.*\.pid\.radvd" | awk '{print $1}') 2>/dev/null || : + fi + return $? +} + +retval=0 + +case "$1" in + start) + clean + retval=$? + [ $retval -eq 0 ] && touch $lockfile + ;; + stop) + clean --force + retval=$? + [ $retval -eq 0 ] && rm -f $lockfile + ;; + status) + [ ! -f $lockfile ] && retval=3 + ;; + restart|reload|force-reload|status|condrestart|try-restart) + # Do nothing + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $retval diff --git a/centos7/rpm/SOURCES/neutron-netns-cleanup.service b/centos7/rpm/SOURCES/neutron-netns-cleanup.service new file mode 100644 index 000000000..7a730e4b7 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-netns-cleanup.service @@ -0,0 +1,15 @@ +[Unit] +Description=OpenStack Neutron Netns Cleanup Utility +After=syslog.target network.target openvswitch.service +Before=neutron-openvswitch-agent.service neutron-dhcp-agent.service 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/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 +PrivateTmp=false +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-openvswitch-agent.service b/centos7/rpm/SOURCES/neutron-openvswitch-agent.service new file mode 100644 index 000000000..d632ff196 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-openvswitch-agent.service @@ -0,0 +1,14 @@ +[Unit] +Description=OpenStack Neutron Open vSwitch Agent +After=syslog.target network.target +PartOf=network.service + +[Service] +Type=simple +User=neutron +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 +PrivateTmp=true +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-ovs-cleanup.init b/centos7/rpm/SOURCES/neutron-ovs-cleanup.init new file mode 100644 index 000000000..9b6906f75 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-ovs-cleanup.init @@ -0,0 +1,67 @@ +#!/bin/bash +# +# neutron-ovs-cleanup OpenStack Open vSwitch cleanup utility +# +# chkconfig: - 97 02 +# description: Purge Open vSwitch of the Neutron devices +# +# This is a one-shot init.d script with the next properties: +# +# * It accepts 3 verbs: start, stop, status +# * It cleans unused resources during start (system or agents startup) +# * It cleans everything on stop (agents migration to other hosts) +# * Once started, it will respond with status = OK +# * Once stopped, it will respond with status = DEAD +# +### END INIT INFO + +. /etc/rc.d/init.d/functions + +proj=neutron +prog=$proj-ovs-cleanup +exec="/usr/bin/$prog" +pidfile="/var/run/$proj/$prog.pid" +configs=( + "/usr/share/$proj/$proj-dist.conf" \ + "/etc/$proj/$proj.conf" \ + "/etc/$proj/plugins/openvswitch/ovs_neutron_plugin.ini" \ +) +configs_str=${configs[@]/#/--config-file } + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +clean() { + [ -x $exec ] || exit 5 + for config in ${configs[@]}; do + [ -f $config ] || exit 6 + done + runuser -s /bin/bash neutron -c "$exec --log-file /var/log/$proj/ovs-cleanup.log $configs_str &>/dev/null" + return $? +} + +retval=0 + +case "$1" in + start) + clean + retval=$? + [ $retval -eq 0 ] && touch $lockfile + ;; + stop) + clean + retval=$? + [ $retval -eq 0 ] && rm -f $lockfile + ;; + status) + [ ! -f $lockfile ] && retval=3 + ;; + restart|reload|force-reload|condrestart|try-restart) + # Do nothing + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $retval diff --git a/centos7/rpm/SOURCES/neutron-ovs-cleanup.service b/centos7/rpm/SOURCES/neutron-ovs-cleanup.service new file mode 100644 index 000000000..5dfc89bdb --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-ovs-cleanup.service @@ -0,0 +1,15 @@ +[Unit] +Description=OpenStack Neutron Open vSwitch Cleanup Utility +After=syslog.target network.target openvswitch.service +Before=neutron-openvswitch-agent.service neutron-dhcp-agent.service 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/openvswitch/ovs_neutron_plugin.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/openvswitch/ovs_neutron_plugin.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 +PrivateTmp=true +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-rpc-server.service b/centos7/rpm/SOURCES/neutron-rpc-server.service new file mode 100644 index 000000000..b3f4d181b --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-rpc-server.service @@ -0,0 +1,14 @@ +[Unit] +Description=OpenStack Neutron (RPC only) Server +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 +PrivateTmp=true +NotifyAccess=all +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-server.service b/centos7/rpm/SOURCES/neutron-server.service new file mode 100644 index 000000000..17e107e44 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-server.service @@ -0,0 +1,14 @@ +[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-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 +PrivateTmp=true +NotifyAccess=all +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-sriov-nic-agent.service b/centos7/rpm/SOURCES/neutron-sriov-nic-agent.service new file mode 100644 index 000000000..6d50aa6f1 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-sriov-nic-agent.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Neutron SR-IOV NIC Agent +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 +PrivateTmp=false +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/centos7/rpm/SOURCES/neutron-sudoers b/centos7/rpm/SOURCES/neutron-sudoers new file mode 100644 index 000000000..9273f587b --- /dev/null +++ b/centos7/rpm/SOURCES/neutron-sudoers @@ -0,0 +1,4 @@ +Defaults:neutron !requiretty + +neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf * +neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap-daemon /etc/neutron/rootwrap.conf diff --git a/centos7/rpm/SOURCES/neutron.logrotate b/centos7/rpm/SOURCES/neutron.logrotate new file mode 100644 index 000000000..fc1c70b24 --- /dev/null +++ b/centos7/rpm/SOURCES/neutron.logrotate @@ -0,0 +1,7 @@ +/var/log/neutron/*.log { + rotate 14 + size 10M + missingok + compress + copytruncate +} diff --git a/centos7/rpm/SOURCES/sources b/centos7/rpm/SOURCES/sources new file mode 100644 index 000000000..e69de29bb diff --git a/centos7/rpm/SPECS/openstack-neutron.spec b/centos7/rpm/SPECS/openstack-neutron.spec new file mode 100644 index 000000000..e577ef82d --- /dev/null +++ b/centos7/rpm/SPECS/openstack-neutron.spec @@ -0,0 +1,905 @@ +%global service neutron + +Name: openstack-%{service} +Version: 7.0.0.0b3 +Release: 1%{?dist} +Epoch: 1 +Summary: OpenStack Networking Service + +License: ASL 2.0 +URL: http://launchpad.net/%{service}/ + +Source0: %{service}-%{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-mlnx-agent.service +Source20: neutron-metering-agent.service +Source21: neutron-sriov-nic-agent.service +Source22: neutron-netns-cleanup.service +Source23: neutron-netns-cleanup.init +Source24: neutron-ovs-cleanup.init +Source28: neutron-dev-server.service +Source29: neutron-rpc-server.service + +Source30: %{service}-dist.conf +Source31: conf.README + +BuildArch: noarch + +BuildRequires: python2-devel +BuildRequires: python-d2to1 +BuildRequires: python-pbr +BuildRequires: python-pecan +BuildRequires: python-setuptools +BuildRequires: systemd-units + +BuildRequires: git + +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + +# dnsmasq is not a hard requirement, but is currently the only option +# when neutron-dhcp-agent is deployed. +Requires: dnsmasq +Requires: dnsmasq-utils + +# radvd is not a hard requirement, but is currently the only option +# for IPv6 deployments. +Requires: radvd + +# dibbler is not a hard requirement, but is currently the default option +# for IPv6 prefix delegation. +#Requires: dibbler-client + +# conntrack is not a hard requirement, but is currently used by L3 agent +# to immediately drop connections after a floating IP is disassociated +Requires: conntrack-tools + +# keepalived is not a hard requirement, but is currently used by DVR L3 +# agent +Requires: keepalived + +# those are not hard requirements, but are used to implement firewall +# drivers. +Requires: ipset +Requires: iptables + +Requires(pre): shadow-utils +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description +Neutron is a virtual network service for Openstack. Just like +OpenStack Nova provides an API to dynamically request and configure +virtual servers, Neutron provides an API to dynamically request and +configure virtual networks. These networks connect "interfaces" from +other OpenStack services (e.g., virtual NICs from Nova VMs). The +Neutron API supports extensions to provide advanced network +capabilities (e.g., QoS, ACLs, network monitoring, etc.) + + +%package -n python-%{service} +Summary: Neutron Python libraries +Requires: MySQL-python +Requires: python-alembic >= 0.8.0 +Requires: python-debtcollector >= 0.3.0 +Requires: python-eventlet >= 0.17.4 +Requires: python-greenlet >= 0.3.2 +Requires: python-httplib2 >= 0.7.5 +Requires: python-jinja2 >= 2.6 +Requires: python-keystoneclient >= 1:1.6.0 +Requires: python-keystonemiddleware >= 2.0.0 +Requires: python-netaddr >= 0.7.12 +Requires: python-neutronclient >= 2.6.0 +Requires: python-novaclient >= 1:2.26.0 +Requires: python-oslo-concurrency >= 2.3.0 +Requires: python-oslo-config >= 2:2.1.0 +Requires: python-oslo-context >= 0.2.0 +Requires: python-oslo-db >= 2.0 +Requires: python-oslo-i18n >= 1.5.0 +Requires: python-oslo-log >= 1.8.0 +Requires: python-oslo-messaging >= 1.16.0 +Requires: python-oslo-middleware >= 2.4.0 +Requires: python-oslo-policy >= 0.5.0 +Requires: python-oslo-rootwrap >= 2.0.0 +Requires: python-oslo-serialization >= 1.4.0 +Requires: python-oslo-service >= 0.6.0 +Requires: python-oslo-utils >= 2.0.0 +Requires: python-oslo-versionedobjects >= 0.6.0 +Requires: python-oslo-context >= 0.2.0 +Requires: python-paste +Requires: python-paste-deploy >= 1.5.0 +Requires: python-pecan >= 1.0.0 +Requires: python-pbr +Requires: python-pyroute2 +Requires: python-requests >= 2.5.2 +Requires: python-retrying >= 1.2.3 +Requires: python-routes >= 1.12.3 +Requires: python-six >= 1.9.0 +Requires: python-sqlalchemy >= 0.9.7 +Requires: python-stevedore >= 1.5.0 +Requires: python-webob >= 1.2.3 +Requires: python-unicodecsv + + + +%description -n python-%{service} +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron Python library. + + +%package -n python-%{service}-tests +Summary: Neutron tests +Requires: openstack-%{service} = %{epoch}:%{version}-%{release} + + +%description -n python-%{service}-tests +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains Neutron test files. + + +%package common +Summary: Neutron common files +Requires: python-%{service} = %{epoch}:%{version}-%{release} +Requires: sudo + + +%description common +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains Neutron common files. + + +%package bigswitch +Summary: Neutron Big Switch plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description bigswitch +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using the FloodLight Openflow Controller or the Big Switch +Networks Controller. + + +%package brocade +Summary: Neutron Brocade plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +Requires: python-ncclient + + +%description brocade +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using Brocade VCS switches running NOS. + + +%package cisco +Summary: Neutron Cisco plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +Requires: python-ncclient + + +%description cisco +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using Cisco UCS and Nexus. + + +%package dev-server +Summary: Neutron Server (WSGI pecan) +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description dev-server +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains an alternative Neutron server implementation that uses +pecan library as its WSGI backend. + + +%package embrane +Summary: Neutron Embrane plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description embrane +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +L3-L7 network services using Embrane's heleos platform. + + +%package linuxbridge +Summary: Neutron linuxbridge plugin +Requires: bridge-utils +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description linuxbridge +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks as VLANs using Linux bridging. + + +%package mellanox +Summary: Neutron Mellanox plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description mellanox +This plugin implements Neutron v2 APIs with support for Mellanox embedded +switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. + + +%package midonet +Summary: Neutron MidoNet plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description midonet +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using MidoNet from Midokura. + + +%package ml2 +Summary: Neutron ML2 plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +# needed for brocade and cisco drivers +Requires: python-ncclient + + +%description ml2 +Neutron provides an API to dynamically request and configure virtual +networks. + +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 nuage +Summary: Neutron Nuage plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description nuage +This plugin implements Neutron v2 APIs with support for Nuage Networks +Virtual Service Platform (VSP). + + +%package ofagent +Summary: Neutron ofagent plugin from ryu project +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description ofagent +This plugin implements Neutron v2 APIs with support for the ryu ofagent +plugin. + + +%package oneconvergence-nvsd +Summary: Neutron One Convergence NVSD plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description oneconvergence-nvsd +Neutron provides an API to dynamnically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using One Convergence NVSD + + +%package opencontrail +Summary: Neutron OpenContrail plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description opencontrail +This plugin implements Neutron v2 APIs with support for the OpenContrail +plugin. + + +%package openvswitch +Summary: Neutron openvswitch plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} +# We require openvswitch when using vsctl to access ovsdb; +# but if we use native access, then we just need python bindings. +# since we don't know what users actually use, we depend on both. +Requires: openvswitch +Requires: python-openvswitch + + +%description openvswitch +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using Open vSwitch. + + +%package ovsvapp +Summary: Neutron OVSvApp vSphere plugin +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description ovsvapp +Neutron provides an API to dynamically request and configure virtual +networks. + +This package contains the Neutron plugin that implements virtual +networks using OVSvApp vSphere L2 agent. + + +%package metering-agent +Summary: Neutron bandwidth metering agent +Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release} + + +%description metering-agent +Neutron provides an API to measure bandwidth utilization + +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 +Neutron provides an API to dynamically request and configure virtual +networks. + +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} + + +%description sriov-nic-agent +Neutron allows to run virtual instances using SR-IOV NIC hardware + +This package contains the Neutron agent to support advanced features of +SR-IOV network cards. + + +%package doc +Summary: Documentation for OpenStack Neutron +Group: Documentation + +BuildRequires: python-sphinx +BuildRequires: python-oslo-sphinx +BuildRequires: python-alembic >= 0.8.0 +BuildRequires: python-debtcollector >= 0.3.0 +BuildRequires: python-eventlet >= 0.17.4 +BuildRequires: python-greenlet >= 0.3.2 +BuildRequires: python-httplib2 >= 0.7.5 +BuildRequires: python-jinja2 >= 2.6 +BuildRequires: python-keystoneclient >= 1:1.6.0 +BuildRequires: python-keystonemiddleware >= 2.0.0 +BuildRequires: python-netaddr >= 0.7.12 +BuildRequires: python-neutronclient >= 2.6.0 +BuildRequires: python-novaclient >= 1:2.26.0 +BuildRequires: python-oslo-concurrency >= 2.3.0 +BuildRequires: python-oslo-config >= 2:2.1.0 +BuildRequires: python-oslo-context >= 0.2.0 +BuildRequires: python-oslo-db >= 2.0 +BuildRequires: python-oslo-i18n >= 1.5.0 +BuildRequires: python-oslo-log >= 1.8.0 +BuildRequires: python-oslo-messaging >= 1.16.0 +BuildRequires: python-oslo-middleware >= 2.4.0 +BuildRequires: python-oslo-policy >= 0.5.0 +BuildRequires: python-oslo-rootwrap >= 2.0.0 +BuildRequires: python-oslo-serialization >= 1.4.0 +BuildRequires: python-oslo-service >= 0.6.0 +BuildRequires: python-oslo-utils >= 2.0.0 +BuildRequires: python-oslo-versionedobjects >= 0.6.0 +BuildRequires: python-oslo-context >= 0.2.0 +BuildRequires: python-paste +BuildRequires: python-paste-deploy >= 1.5.0 +BuildRequires: python-pecan >= 1.0.0 +BuildRequires: python-pbr +BuildRequires: python-pyroute2 +BuildRequires: python-requests >= 2.5.2 +BuildRequires: python-retrying >= 1.2.3 +BuildRequires: python-routes >= 1.12.3 +BuildRequires: python-six >= 1.9.0 +BuildRequires: python-sqlalchemy >= 0.9.7 +BuildRequires: python-stevedore >= 1.5.0 +BuildRequires: python-webob >= 1.2.3 +BuildRequires: python-testresources +BuildRequires: python-testscenarios +BuildRequires: python-oslotest + +%description doc +Documentation for Openstack Neutron. + + +%prep +%autosetup -n %{service}-%{version} -S git + +find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + + +# Let's handle dependencies ourseleves +rm -f requirements.txt + +# Kill egg-info in order to generate new SOURCES.txt +rm -rf neutron.egg-info + +%build +export SKIP_PIP_INSTALL=1 +%{__python2} setup.py build + +# Loop through values in neutron-dist.conf and make sure that the values +# are substituted into the neutron.conf as comments. Some of these values +# will have been uncommented as a way of upstream setting defaults outside +# of the code. For notification_driver, there are commented examples +# above uncommented settings, so this specifically skips those comments +# and instead comments out the actual settings and substitutes the +# correct default values. +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 + else + sed -ri "0,/^(#)? *$name *=/{s!^(#)? *$name *=.*!# $name = $value!}" etc/%{service}.conf + fi +done < %{SOURCE30} + +%install +# pbr does not like dashes in version strings, neither it likes fc* prefixes (dev* is fine) +#export PBR_VERSION=%{version}.%(echo %{release} | sed 's/%{?dist}//') +%{__python2} setup.py install -O1 --skip-build --root %{buildroot} + +# Remove unused files +rm -rf %{buildroot}%{python2_sitelib}/bin +rm -rf %{buildroot}%{python2_sitelib}/doc +rm -rf %{buildroot}%{python2_sitelib}/tools +rm %{buildroot}/usr/etc/init.d/neutron-server + +# Build HTML docs +export PYTHONPATH="$( pwd ):$PYTHONPATH" +sphinx-build -b html doc/source html + +# Fix hidden-file-or-dir warnings +rm -fr html/.doctrees html/.buildinfo + +# Move rootwrap files to proper location +install -d -m 755 %{buildroot}%{_datarootdir}/%{service}/rootwrap +mv %{buildroot}/usr/etc/%{service}/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/%{service}/rootwrap + +# Move config files to proper location +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 +chmod 640 %{buildroot}%{_sysconfdir}/%{service}/plugins/*/*.ini + +# Install logrotate +install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service} + +# Install sudoers +install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service} + +# Install systemd units +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-mlnx-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 %{SOURCE28} %{buildroot}%{_unitdir}/neutron-dev-server.service +install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service + + +# Install scripts for pacemaker support +install -p -D -m 755 %{SOURCE23} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup +install -p -D -m 755 %{SOURCE24} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup + +# Install README file that describes how to configure services with custom configuration files +install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{service}/conf.d/README + +# Setup directories +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 dist conf +install -p -D -m 640 %{SOURCE30} %{buildroot}%{_datadir}/%{service}/%{service}-dist.conf + +# Create and populate configuration directory for L3 agent that is not accessible for user modification +mkdir -p %{buildroot}%{_datadir}/%{service}/l3_agent +ln -s %{_sysconfdir}/%{service}/l3_agent.ini %{buildroot}%{_datadir}/%{service}/l3_agent/l3_agent.conf + +# Create dist configuration directory for neutron-server (may be filled by advanced services) +mkdir -p %{buildroot}%{_datadir}/%{service}/server + +# Create configuration directories for all services that can be populated by users with custom *.conf files +mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common +for service in server dev-server rpc-server ovs-cleanup netns-cleanup; do + mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service +done +for service in linuxbridge openvswitch dhcp l3 metadata mlnx metering sriov-nic; do + mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent +done + +# Kill hyperv agent since it's of no use for Linux +rm %{buildroot}/%{_bindir}/neutron-hyperv-agent + + +%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} +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 + + +%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 + + +%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 + + +%post linuxbridge +%systemd_post neutron-linuxbridge-agent.service +oldconf=%{_sysconfdir}/%{service}/plugins/linuxbridge/linuxbridge_conf.ini +newconf=%{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini +if [ $1 -gt 1 ]; then + if [ -e $oldconf ]; then + # Imitate noreplace + cp $newconf ${newconf}.rpmnew + cp $oldconf $newconf + fi +fi + + +%preun linuxbridge +%systemd_preun neutron-linuxbridge-agent.service + + +%postun linuxbridge +%systemd_postun_with_restart neutron-linuxbridge-agent.service + + +%post mellanox +%systemd_post neutron-mlnx-agent.service + + +%preun mellanox +%systemd_preun neutron-mlnx-agent.service + + +%postun mellanox +%systemd_postun_with_restart neutron-mlnx-agent.service + + +%post openvswitch +%systemd_post neutron-openvswitch-agent.service +oldconf=%{_sysconfdir}/%{service}/plugins/openvswitch/ovs_neutron_plugin.ini +newconf=%{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini +if [ $1 -gt 1 ]; then + if [ -e $oldconf ]; then + # Imitate noreplace + cp $newconf ${newconf}.rpmnew + cp $oldconf $newconf + fi +fi + + +%preun openvswitch +%systemd_preun neutron-openvswitch-agent.service + + +%postun openvswitch +%systemd_postun_with_restart neutron-openvswitch-agent.service + + +%post metering-agent +%systemd_post neutron-metering-agent.service + + +%preun metering-agent +%systemd_preun neutron-metering-agent.service + + +%postun metering-agent +%systemd_postun_with_restart neutron-metering-agent.service + + +%post sriov-nic-agent +%systemd_post neutron-sriov-nic-agent.service + + +%preun sriov-nic-agent +%systemd_preun neutron-sriov-nic-agent.service + + +%postun sriov-nic-agent +%systemd_postun_with_restart neutron-sriov-nic-agent.service + + +%files +%license LICENSE +%{_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-metadata-agent +%{_bindir}/neutron-netns-cleanup +%{_bindir}/neutron-ns-metadata-proxy +%{_bindir}/neutron-ovs-cleanup +%{_bindir}/neutron-pd-notify +%{_bindir}/neutron-sanity-check +%{_bindir}/neutron-server +%{_bindir}/neutron-usage-audit +%{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup +%{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup +%{_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 +%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 +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/policy.json +%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 + + +%files -n python-%{service}-tests +%license LICENSE +%{python2_sitelib}/%{service}/tests + + +%files -n python-%{service} +%license LICENSE +%{python2_sitelib}/%{service} +%{python2_sitelib}/%{service}-*.egg-info +%exclude %{python2_sitelib}/%{service}/tests + + +%files common +%license LICENSE +%doc README.rst +%{_bindir}/neutron-rootwrap +%{_bindir}/neutron-rootwrap-daemon +%{_bindir}/neutron-rootwrap-xen-dom0 +%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) %{_sysconfdir}/%{service}/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/ebtables.filters +%{_datarootdir}/%{service}/rootwrap/ipset-firewall.filters +%{_datarootdir}/%{service}/rootwrap/iptables-firewall.filters +%{_datarootdir}/%{service}/rootwrap/l3.filters + + +%files bigswitch +%license LICENSE +%{_bindir}/neutron-restproxy-agent +%dir %{_sysconfdir}/%{service}/plugins/bigswitch +%{_sysconfdir}/%{service}/plugins/bigswitch/ssl +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/bigswitch/*.ini + + +%files brocade +%license LICENSE +%doc %{service}/plugins/brocade/README.md +%dir %{_sysconfdir}/%{service}/plugins/brocade +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/brocade/*.ini +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/brocade/vyatta/*.ini + + +%files cisco +%license LICENSE +%dir %{_sysconfdir}/%{service}/plugins/cisco +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/cisco/*.ini + + +%files embrane +%license LICENSE +%doc %{service}/plugins/embrane/README +%dir %{_sysconfdir}/%{service}/plugins/embrane +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/embrane/*.ini + + +%files dev-server +%license LICENSE +%{_bindir}/neutron-dev-server +%{_unitdir}/neutron-dev-server.service +%dir %{_sysconfdir}/%{service}/conf.d/%{service}-dev-server + + +%files linuxbridge +%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 + + +%files mellanox +%license LICENSE +%doc %{service}/plugins/ml2/drivers/mlnx/README +%{_bindir}/neutron-mlnx-agent +%{_unitdir}/neutron-mlnx-agent.service +%dir %{_sysconfdir}/%{service}/plugins/mlnx +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/mlnx/*.ini +%dir %{_sysconfdir}/%{service}/conf.d/%{service}-mlnx-agent + + +%files midonet +%license LICENSE +#%doc %{service}/plugins/midonet/README +%dir %{_sysconfdir}/%{service}/plugins/midonet +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/midonet/*.ini + + +%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 + + +%files nuage +%license LICENSE +%{python2_sitelib}/%{service}/plugins/nuage +%dir %{_sysconfdir}/%{service}/plugins/nuage +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/nuage/*.ini + + +%files ofagent +%license LICENSE + + +%files oneconvergence-nvsd +%license LICENSE +%doc %{service}/plugins/oneconvergence/README +%dir %{_sysconfdir}/%{service}/plugins/oneconvergence +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/oneconvergence/*.ini +%{_bindir}/neutron-nvsd-agent + + +%files opencontrail +%license LICENSE +#%doc %{service}/plugins/opencontrail/README +%dir %{_sysconfdir}/%{service}/plugins/opencontrail +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/opencontrail/*.ini + + +%files openvswitch +%license LICENSE +%{_bindir}/neutron-openvswitch-agent +%{_unitdir}/neutron-openvswitch-agent.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 + + +%files ovsvapp +%license LICENSE +%{_bindir}/neutron-ovsvapp-agent +# TODO: add a systemd unit file +%dir %{_sysconfdir}/%{service}/plugins/ovsvapp +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ovsvapp/*.ini + + +%files metering-agent +%license LICENSE +%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini +%{_unitdir}/neutron-metering-agent.service +%{_bindir}/neutron-metering-agent +%dir %{_sysconfdir}/%{service}/conf.d/%{service}-metering-agent + + +%files rpc-server +%license LICENSE +%{_bindir}/neutron-rpc-server +%{_unitdir}/neutron-rpc-server.service +%dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server + + +%files sriov-nic-agent +%license LICENSE +%{_unitdir}/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 + + +%files doc +%license LICENSE +%doc html + + +%changelog +* Fri Nov 6 2015 Sergey Kolekonov 7.0.0 +- Update specs for 7.0.0 release +* Thu Sep 3 2015 Sergey Kolekonov 7.0.0.0b3 +- Update specs for Liberty release diff --git a/tests/integration_tests.conf b/tests/integration_tests.conf index db2205359..a34dcdb39 100644 --- a/tests/integration_tests.conf +++ b/tests/integration_tests.conf @@ -1 +1 @@ -TEST_GROUP=smoke_neutron +TEST_GROUP=deploy_neutron_gre diff --git a/tests/runtests.sh b/tests/runtests.sh index 50108c722..372e4add2 100755 --- a/tests/runtests.sh +++ b/tests/runtests.sh @@ -13,7 +13,13 @@ AUTH="--os-auth-url http://127.0.0.1:35357 --os-token $TOKEN --os-endpoint http: NEUTRON_AUTH="--os-username neutron --os-password neutron --os-tenant-name neutron --os-auth-url http://127.0.0.1:35357/v2.0" CORE_PLUGIN="neutron.plugins.ml2.plugin.Ml2Plugin" -if [[ $PLATFORM =~ Ubuntu ]]; then UBUNTU=true; fi +if [[ $PLATFORM =~ Ubuntu ]] +then + UBUNTU=true +else + setenforce 0 +fi + if [ -z $PACKAGE ]; then echo "Package for testing is not specified"; exit 1; fi echo "127.0.10.1 $(hostname)" >> /etc/hosts @@ -204,7 +210,7 @@ check_neutron_openvswitch () { # Workaround for bug #1371184 if ! $UBUNTU then - chown root:neutron /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini + chown root:neutron /etc/neutron/plugins/ml2/openvswitch_agent.ini fi if ! $SERVICE_STARTED ; then