Added new specfile
authorSergey Otpuschennikov <sotpuschennikov@mirantis.com>
Mon, 28 Oct 2013 12:11:22 +0000 (16:11 +0400)
committerSergey Otpuschennikov <sotpuschennikov@mirantis.com>
Mon, 28 Oct 2013 12:11:22 +0000 (16:11 +0400)
Change-Id: I5f778ed64ab435026f46cd1fc271b96f2bc7b283

28 files changed:
rpm/SOURCES/neutron-dhcp-agent.init
rpm/SOURCES/neutron-dhcp-agent.upstart
rpm/SOURCES/neutron-dist.conf [new file with mode: 0644]
rpm/SOURCES/neutron-l3-agent.init
rpm/SOURCES/neutron-l3-agent.upstart
rpm/SOURCES/neutron-lbaas-agent.init
rpm/SOURCES/neutron-lbaas-agent.upstart
rpm/SOURCES/neutron-linuxbridge-agent.init
rpm/SOURCES/neutron-linuxbridge-agent.upstart
rpm/SOURCES/neutron-metadata-agent.init
rpm/SOURCES/neutron-metadata-agent.upstart
rpm/SOURCES/neutron-metering-agent.init [new file with mode: 0644]
rpm/SOURCES/neutron-metering-agent.upstart [new file with mode: 0644]
rpm/SOURCES/neutron-mlnx-agent.init
rpm/SOURCES/neutron-mlnx-agent.upstart
rpm/SOURCES/neutron-nec-agent.init
rpm/SOURCES/neutron-nec-agent.upstart
rpm/SOURCES/neutron-openvswitch-agent.init
rpm/SOURCES/neutron-openvswitch-agent.upstart
rpm/SOURCES/neutron-ovs-cleanup.init
rpm/SOURCES/neutron-ovs-cleanup.upstart
rpm/SOURCES/neutron-ryu-agent.init
rpm/SOURCES/neutron-ryu-agent.upstart
rpm/SOURCES/neutron-server.init
rpm/SOURCES/neutron-server.upstart
rpm/SOURCES/neutron-vpn-agent.init [new file with mode: 0644]
rpm/SOURCES/neutron-vpn-agent.upstart [new file with mode: 0644]
rpm/SPECS/openstack-neutron.spec

index e7ebd96e552752ca293ee48489531dc596dbea4a..ef93ac2f59a9b44ab9ccb43976f37296f572703d 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-dhcp-agent  OpenStack Neutron DHCP Agent
 #
 #
 # neutron-dhcp-agent  OpenStack Neutron DHCP Agent
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=dhcp-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=dhcp-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/dhcp_agent.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/dhcp_agent.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 138748c6de37a048ff9f823808a9a370ff095d35..97c4c145f963edf10a2a3805f87157b2eb11bd06 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini" neutron
diff --git a/rpm/SOURCES/neutron-dist.conf b/rpm/SOURCES/neutron-dist.conf
new file mode 100644 (file)
index 0000000..9b1a635
--- /dev/null
@@ -0,0 +1,29 @@
+[DEFAULT]
+verbose = True
+lock_path = $state_path/lock
+auth_strategy = noauth
+notification_driver = neutron.openstack.common.notifier.rpc_notifier
+rpc_backend = quantum.openstack.common.rpc.impl_qpid
+allow_overlapping_ips = True
+
+[quotas]
+
+[agent]
+root_helper = sudo quantum-rootwrap /etc/quantum/rootwrap.conf
+
+[keystone_authtoken]
+auth_host = 127.0.0.1
+auth_port = 35357
+auth_protocol = http
+admin_tenant_name = %SERVICE_TENANT_NAME%
+admin_user = %SERVICE_USER%
+admin_password = %SERVICE_PASSWORD%
+signing_dir = $state_path/keystone-signing
+
+[database]
+max_pool_size = 10
+max_overflow = 20
+pool_timeout = 10
+
+[service_providers]
+service_provider = LOADBALANCER:Haproxy:neutron.services.loadbalancer.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
index dc7dc3ef5ba205ab479f96b783516dbc7e169cdf..0e241f84cf5db82c428eee69c0cfd1e64ecc544f 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-l3-agent  OpenStack Neutron Layer 3 Agent
 #
 #
 # neutron-l3-agent  OpenStack Neutron Layer 3 Agent
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=l3-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=l3-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/l3_agent.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/l3_agent.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index e09bfc89b761b42ced4e1bf51e33a8777d02015b..35e1d3261f05049fa0ca60aa913ed784b2434097 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-l3-agent --log-file /var/log/neutron/l3-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-l3-agent --log-file /var/log/neutron/l3-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini" neutron
index 0d111d0725fbd121f9776458ecc9c3cf13bc63ff..31ac1ce6a49965900757c6f964131e00b98cf62b 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-lbaas-agent  OpenStack Neutron LBaaS Agent
 #
 #
 # neutron-lbaas-agent  OpenStack Neutron LBaaS Agent
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=lbaas-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=lbaas-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/lbaas_agent.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/lbaas_agent.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 7e0bd056308c4178bb80ae66e26dbb4bcfdb6f8f..7d9d61c007dd3a4169242e5c223f9cbdb1883049 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-lbaas-agent --log-file /var/log/neutron/lbaas-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/lbaas_agent.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-lbaas-agent --log-file /var/log/neutron/lbaas-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/lbaas_agent.ini" neutron
index 95f686ba1a2681200bb404bfa522ceef13ff54ca..141a9750bf5588f117b91df30b57ec2e8e2f146a 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-linuxbridge-agent  OpenStack linuxbridge plugin
 #
 #
 # neutron-linuxbridge-agent  OpenStack linuxbridge plugin
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=linuxbridge-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=linuxbridge-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/plugins/linuxbridge/linuxbridge_conf.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/plugins/linuxbridge/linuxbridge_conf.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 1859ee46fab11ada79a2106f25aebf9ddbc3d839..0a483a419affd8eb69469806cded26a9104db593 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-linuxbridge-agent --log-file /var/log/neutron/linuxbridge-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-linuxbridge-agent --log-file /var/log/neutron/linuxbridge-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini" neutron
index 0555fe862f535a6ae0731ae5ac42296abc5ced60..4a0384dea79dcddcea69f3ba6c1d041e1abffb9c 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-metadata-agent  OpenStack Neutron Metadata Agent
 #
 #
 # neutron-metadata-agent  OpenStack Neutron Metadata Agent
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=metadata-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=metadata-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/metadata_agent.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/metadata_agent.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 7ee7407da4237c418d7573e032525627ee0f6006..dcb5bcb8848931b5b88640f504deed0b5195cb6b 100644 (file)
@@ -6,4 +6,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-metadata-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini --log-file /var/log/neutron/metadata-agent.log" neutron
+exec su -s /bin/sh -c "exec /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 --log-file /var/log/neutron/metadata-agent.log" neutron
diff --git a/rpm/SOURCES/neutron-metering-agent.init b/rpm/SOURCES/neutron-metering-agent.init
new file mode 100644 (file)
index 0000000..8c7ab4f
--- /dev/null
@@ -0,0 +1,100 @@
+#!/bin/bash
+#
+# neutron-metering-agent  OpenStack Neutron Metering Agent
+#
+# chkconfig:   - 98 02
+# description: OpenStack Neutron Metering Agent
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+proj=neutron
+plugin=metering-agent
+prog=$proj-$plugin
+exec="/usr/bin/$prog"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/metering_agent.ini" \
+)
+pidfile="/var/run/$proj/$prog.pid"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+    [ -x $exec ] || exit 5
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
+    echo -n $"Starting $prog: "
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && touch $lockfile
+    return $retval
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+exit $?
diff --git a/rpm/SOURCES/neutron-metering-agent.upstart b/rpm/SOURCES/neutron-metering-agent.upstart
new file mode 100644 (file)
index 0000000..7a7f8fd
--- /dev/null
@@ -0,0 +1,8 @@
+description "OpenStack Neutron Metering Agent"
+
+start on stopped rc RUNLEVEL=[2345]
+stop on runlevel [S016]
+
+respawn
+
+exec su -s /bin/sh -c "exec /usr/bin/neutron-metering-agent --log-file /var/log/neutron/metering-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metering_agent.ini" neutron
index 8db937b31ade4038013c4e0bb09b7e42f42eb67e..c19f33bfaaebebc2c3e7b0ae8cdad9e0b49c1c44 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-mlnx-agent  OpenStack Neutron Mellanox Agent
 #
 #
 # neutron-mlnx-agent  OpenStack Neutron Mellanox Agent
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=mlnx-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=mlnx-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/plugins/mlnx/mlnx_conf.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/plugins/mlnx/mlnx_conf.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index a4986e03f4a2dbb959a8722e23b1b1c5e12a34ee..9e78cd5b2860dd6bba015ef1ba55572150e7852e 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-mlnx-agent --log-file /var/log/neutron/mlnx-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/mlnx/mlnx_conf.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-mlnx-agent --log-file /var/log/neutron/mlnx-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/mlnx/mlnx_conf.ini" neutron
index e99059e8196b241567f407081cb1f6ce01da5560..ff1b877f77dba91b91b20b12c4ac60da686b3f02 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-nec-agent  OpenStack Neutron NEC OpenFlow Agent
 #
 #
 # neutron-nec-agent  OpenStack Neutron NEC OpenFlow Agent
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=nec-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=nec-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/plugins/nec/nec.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/plugins/nec/nec.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 628df3319035e0d480a53a62d484264d5ba018f5..4837a28f0dd28a649732ee8f8f561c5fb31fea97 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-nec-agent --log-file /var/log/neutron/nec-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/nec/nec.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-nec-agent --log-file /var/log/neutron/nec-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/nec/nec.ini" neutron
index 020781faafdecec02e86a3ca455a647aef30f1ce..14e53a9cb4b233772c9a2ef930ac7daba4ac2b03 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-openvswitch-agent  OpenStack Open vSwitch plugin
 #
 #
 # neutron-openvswitch-agent  OpenStack Open vSwitch plugin
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=openvswitch-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=openvswitch-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/plugins/openvswitch/ovs_neutron_plugin.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/plugins/openvswitch/ovs_neutron_plugin.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 080f0b857b24254faf9f144f52b737c98756606e..52da4b0f0d1bf764eb7045045f78e44ba3fa37d4 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini" neutron
index 970e9476e4a7582bbac9c88441d6a2818af2848b..8978cac4af1ff3040edea2e3d3b2caa48d7ef23c 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-ovs-cleanup  OpenStack Open vSwitch cleanup utility
 #
 #
 # neutron-ovs-cleanup  OpenStack Open vSwitch cleanup utility
 #
@@ -12,7 +12,11 @@ proj=neutron
 prog=$proj-ovs-cleanup
 exec="/usr/bin/$prog"
 pidfile="/var/run/$proj/$prog.pid"
 prog=$proj-ovs-cleanup
 exec="/usr/bin/$prog"
 pidfile="/var/run/$proj/$prog.pid"
-config="/etc/$proj/plugins/openvswitch/ovs_neutron_plugin.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/plugins/openvswitch/ovs_neutron_plugin.ini" \
+)
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 
@@ -20,8 +24,10 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
-    daemon --user neutron $exec --log-file /var/log/$proj/ovs-cleanup.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
+    daemon --user neutron $exec --log-file /var/log/$proj/ovs-cleanup.log ${configs[@]/#/--config-file } &>/dev/null
     retval=$?
     [ $retval -eq 0 ] && touch $lockfile
     return $retval
     retval=$?
     [ $retval -eq 0 ] && touch $lockfile
     return $retval
index e07f7c9789aa334d175cb201384ff6535701553d..addd0d1a0bd0a2d089c5c4559a5e7c9a6f10248e 100644 (file)
@@ -4,4 +4,4 @@ start on stopped rc RUNLEVEL=[2345]
 
 task
 
 
 task
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-ovs-cleanup --log-file /var/log/neutron/ovs-cleanup.log --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-ovs-cleanup --log-file /var/log/neutron/ovs-cleanup.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini" neutron
index 7a034e9e37ae5b72b817d549cfab69b00e0ec5fe..89dcaced8cd9bda2a85aa3fb4987c5212bd33031 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron-ryu-agent  OpenStack Ryu Network OS plugin
 #
 #
 # neutron-ryu-agent  OpenStack Ryu Network OS plugin
 #
@@ -12,7 +12,11 @@ proj=neutron
 plugin=ryu-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
 plugin=ryu-agent
 prog=$proj-$plugin
 exec="/usr/bin/$prog"
-config="/etc/$proj/plugins/ryu/ryu.ini"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/plugins/ryu/ryu.ini" \
+)
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 pidfile="/var/run/$proj/$prog.pid"
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log --config-file /etc/$proj/$proj.conf --config-file $config &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index 170759c7d26c3f8f19cd4ace43f04aa6b57d524c..d596d9450fbbebd5ec8beb6d40c384ca3d6c6bf7 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-ryu-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ryu/ryu.ini --log-file /var/log/neutron/ryu-agent.log" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-ryu-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ryu/ryu.ini --log-file /var/log/neutron/ryu-agent.log" neutron
index 36d792a8def9aea8eea95e3eb88d9f167e2dfd3a..d5ccc9f0a51783296b08c26db105b34a386cc540 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 # neutron  OpenStack Software Defined Networking Service
 #
 #
 # neutron  OpenStack Software Defined Networking Service
 #
 
 prog=neutron
 exec="/usr/bin/$prog-server"
 
 prog=neutron
 exec="/usr/bin/$prog-server"
-config="/etc/$prog/$prog.conf"
+configs=(
+    "/usr/share/$prog/$prog-dist.conf" \
+    "/etc/$prog/$prog.conf" \
+    "/etc/$prog/plugin.ini" \
+)
 pidfile="/var/run/$prog/$prog.pid"
 logfile="/var/log/$prog/server.log"
 
 pidfile="/var/run/$prog/$prog.pid"
 logfile="/var/log/$prog/server.log"
 
@@ -21,9 +25,11 @@ lockfile=/var/lock/subsys/$prog-server
 
 start() {
     [ -x $exec ] || exit 5
 
 start() {
     [ -x $exec ] || exit 5
-    [ -f $config ] || exit 6
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
     echo -n $"Starting $prog: "
     echo -n $"Starting $prog: "
-    daemon --user neutron --pidfile $pidfile "$exec --config-file $config --config-file /etc/$prog/plugin.ini --log-file $logfile &>/dev/null & echo \$! > $pidfile"
+    daemon --user neutron --pidfile $pidfile "$exec ${configs[@]/#/--config-file } --log-file $logfile &>/dev/null & echo \$! > $pidfile"
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
index f93c20c83485d8c16033eb326e9c5238c3156177..ec14e41a0a6ebb20c9b2b7c296b2eeca8812ec87 100644 (file)
@@ -5,4 +5,4 @@ stop on runlevel [S016]
 
 respawn
 
 
 respawn
 
-exec su -s /bin/sh -c "exec /usr/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/server.log" neutron
+exec su -s /bin/sh -c "exec /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/server.log" neutron
diff --git a/rpm/SOURCES/neutron-vpn-agent.init b/rpm/SOURCES/neutron-vpn-agent.init
new file mode 100644 (file)
index 0000000..6a5acfe
--- /dev/null
@@ -0,0 +1,100 @@
+#!/bin/bash
+#
+# neutron-vpn-agent  OpenStack Neutron VPN Agent
+#
+# chkconfig:   - 98 02
+# description: OpenStack Neutron VPN Agent
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+proj=neutron
+plugin=vpn-agent
+prog=$proj-$plugin
+exec="/usr/bin/$prog"
+configs=(
+    "/usr/share/$proj/$proj-dist.conf" \
+    "/etc/$proj/$proj.conf" \
+    "/etc/$proj/vpn_agent.ini" \
+)
+pidfile="/var/run/$proj/$prog.pid"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+    [ -x $exec ] || exit 5
+    for config in ${configs[@]}; do
+        [ -f $config ] || exit 6
+    done
+    echo -n $"Starting $prog: "
+    daemon --user neutron --pidfile $pidfile "$exec --log-file /var/log/$proj/$plugin.log ${configs[@]/#/--config-file } &>/dev/null & echo \$! > $pidfile"
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && touch $lockfile
+    return $retval
+}
+
+stop() {
+    echo -n $"Stopping $prog: "
+    killproc -p $pidfile $prog
+    retval=$?
+    echo
+    [ $retval -eq 0 ] && rm -f $lockfile
+    return $retval
+}
+
+restart() {
+    stop
+    start
+}
+
+reload() {
+    restart
+}
+
+force_reload() {
+    restart
+}
+
+rh_status() {
+    status -p $pidfile $prog
+}
+
+rh_status_q() {
+    rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+    start)
+        rh_status_q && exit 0
+        $1
+        ;;
+    stop)
+        rh_status_q || exit 0
+        $1
+        ;;
+    restart)
+        $1
+        ;;
+    reload)
+        rh_status_q || exit 7
+        $1
+        ;;
+    force-reload)
+        force_reload
+        ;;
+    status)
+        rh_status
+        ;;
+    condrestart|try-restart)
+        rh_status_q || exit 0
+        restart
+        ;;
+    *)
+        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+        exit 2
+esac
+exit $?
diff --git a/rpm/SOURCES/neutron-vpn-agent.upstart b/rpm/SOURCES/neutron-vpn-agent.upstart
new file mode 100644 (file)
index 0000000..83c7a2d
--- /dev/null
@@ -0,0 +1,8 @@
+description "OpenStack Neutron VPN Agent"
+
+start on stopped rc RUNLEVEL=[2345]
+stop on runlevel [S016]
+
+respawn
+
+exec su -s /bin/sh -c "exec /usr/bin/neutron-vpn-agent --log-file /var/log/neutron/vpn-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/vpn_agent.ini" neutron
index 1b6d990f43a3610d330d7d228852b10b913fc139..f8a4a6e6cffd3d3c61205be1f9ec94f30e59910a 100644 (file)
@@ -5,7 +5,7 @@
 
 Name:          openstack-neutron
 Version:       2013.2
 
 Name:          openstack-neutron
 Version:       2013.2
-Release:       0.4.b3%{?dist}
+Release:       1%{?dist}
 Provides:      openstack-quantum = %{version}-%{release}
 Obsoletes:     openstack-quantum < 2013.2-0.3.b3
 
 Provides:      openstack-quantum = %{version}-%{release}
 Obsoletes:     openstack-quantum < 2013.2-0.3.b3
 
@@ -15,8 +15,7 @@ Group:                Applications/System
 License:       ASL 2.0
 URL:           http://launchpad.net/neutron/
 
 License:       ASL 2.0
 URL:           http://launchpad.net/neutron/
 
-#Source0:      http://launchpad.net/neutron/%{release_name}/%{version}/+download/neutron-%{version}.tar.gz
-Source0:       http://launchpad.net/neutron/%{release_name}/%{release_name}-2/+download/neutron-%{version}.b3.tar.gz
+Source0:       http://launchpad.net/neutron/%{release_name}/%{version}/+download/neutron-%{version}.tar.gz
 Source1:       neutron.logrotate
 Source2:       neutron-sudoers
 Source4:       neutron-server-setup
 Source1:       neutron.logrotate
 Source2:       neutron-sudoers
 Source4:       neutron-server-setup
@@ -46,9 +45,14 @@ Source19:    neutron-lbaas-agent.init
 Source29:      neutron-lbaas-agent.upstart
 Source30:      neutron-mlnx-agent.init
 Source40:      neutron-mlnx-agent.upstart
 Source29:      neutron-lbaas-agent.upstart
 Source30:      neutron-mlnx-agent.init
 Source40:      neutron-mlnx-agent.upstart
+Source31:      neutron-vpn-agent.init
+Source41:      neutron-vpn-agent.upstart
+Source32:      neutron-metering-agent.init
+Source42:      neutron-metering-agent.upstart
 
 
+Source90:      neutron-dist.conf
 #
 #
-# patches_base=2013.2.b3
+# patches_base=2013.2
 #
 Patch0001: 0001-use-parallel-installed-versions-in-RHEL6.patch
 
 #
 Patch0001: 0001-use-parallel-installed-versions-in-RHEL6.patch
 
@@ -383,13 +387,13 @@ This package contains the neutron plugin that implements virtual
 networks using multiple other neutron plugins.
 
 
 networks using multiple other neutron plugins.
 
 
-%package -n openstack-neutron-meetering-agent
+%package -n openstack-neutron-metering-agent
 Summary:       Neutron bandwidth metering agent
 Group:         Applications/System
 
 Requires:      openstack-neutron = %{version}-%{release}
 
 Summary:       Neutron bandwidth metering agent
 Group:         Applications/System
 
 Requires:      openstack-neutron = %{version}-%{release}
 
-%description -n openstack-neutron-meetering-agent
+%description -n openstack-neutron-metering-agent
 Neutron provides an API to measure bandwidth utilization
 
 This package contains the neutron agent responsible for generating bandwidth
 Neutron provides an API to measure bandwidth utilization
 
 This package contains the neutron agent responsible for generating bandwidth
@@ -400,6 +404,7 @@ Summary:    Neutron VPNaaS agent
 Group:         Applications/System
 
 Requires:      openstack-neutron = %{version}-%{release}
 Group:         Applications/System
 
 Requires:      openstack-neutron = %{version}-%{release}
+Requires:      python-jinja2-26
 
 %description -n openstack-neutron-vpn-agent
 Neutron provides an API to implement VPN as a service
 
 %description -n openstack-neutron-vpn-agent
 Neutron provides an API to implement VPN as a service
@@ -413,25 +418,31 @@ IPSec.
 
 %patch0001 -p1
 
 
 %patch0001 -p1
 
-sed -i 's/%{version}/%{version}/' PKG-INFO
-
 find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \;
 
 find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \;
 
-# let RPM handle deps
-sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
-
 chmod 644 neutron/plugins/cisco/README
 
 chmod 644 neutron/plugins/cisco/README
 
-# Adjust configuration file content
-sed -i 's/debug = True/debug = False/' etc/neutron.conf
-sed -i 's/\# auth_strategy = keystone/auth_strategy = noauth/' etc/neutron.conf
-
 # Let's handle dependencies ourseleves
 rm -f requirements.txt
 
 %build
 %{__python} setup.py build
 
 # Let's handle dependencies ourseleves
 rm -f requirements.txt
 
 %build
 %{__python} 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 service_provider and 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" = "service_provider" -o "$name" = "notification_driver" ]; then
+    sed -ri "0,/^$name *=/{s!^$name *=.*!# $name = $value!}" etc/neutron.conf
+  else
+    sed -ri "0,/^(#)? *$name *=/{s!^(#)? *$name *=.*!# $name = $value!}" etc/neutron.conf
+  fi
+done < %{SOURCE90}
 
 %install
 %{__python} setup.py install -O1 --skip-build --root %{buildroot}
 
 %install
 %{__python} setup.py install -O1 --skip-build --root %{buildroot}
@@ -454,12 +465,6 @@ install -d -m 755 %{buildroot}%{_sysconfdir}/neutron
 mv %{buildroot}/usr/etc/neutron/* %{buildroot}%{_sysconfdir}/neutron
 chmod 640  %{buildroot}%{_sysconfdir}/neutron/plugins/*/*.ini
 
 mv %{buildroot}/usr/etc/neutron/* %{buildroot}%{_sysconfdir}/neutron
 chmod 640  %{buildroot}%{_sysconfdir}/neutron/plugins/*/*.ini
 
-# Configure agents to use neutron-rootwrap
-sed -i 's/^# root_helper.*/root_helper = sudo neutron-rootwrap \/etc\/neutron\/rootwrap.conf/g' %{buildroot}%{_sysconfdir}/neutron/neutron.conf
-
-# Configure neutron-dhcp-agent state_path
-sed -i 's/state_path = \/opt\/stack\/data/state_path = \/var\/lib\/neutron/' %{buildroot}%{_sysconfdir}/neutron/dhcp_agent.ini
-
 # Install logrotate
 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-neutron
 
 # Install logrotate
 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-neutron
 
@@ -478,6 +483,8 @@ install -p -D -m 755 %{SOURCE17} %{buildroot}%{_initrddir}/neutron-metadata-agen
 install -p -D -m 755 %{SOURCE18} %{buildroot}%{_initrddir}/neutron-ovs-cleanup
 install -p -D -m 755 %{SOURCE19} %{buildroot}%{_initrddir}/neutron-lbaas-agent
 install -p -D -m 755 %{SOURCE30} %{buildroot}%{_initrddir}/neutron-mlnx-agent
 install -p -D -m 755 %{SOURCE18} %{buildroot}%{_initrddir}/neutron-ovs-cleanup
 install -p -D -m 755 %{SOURCE19} %{buildroot}%{_initrddir}/neutron-lbaas-agent
 install -p -D -m 755 %{SOURCE30} %{buildroot}%{_initrddir}/neutron-mlnx-agent
+install -p -D -m 755 %{SOURCE31} %{buildroot}%{_initrddir}/neutron-vpn-agent
+install -p -D -m 755 %{SOURCE32} %{buildroot}%{_initrddir}/neutron-metering-agent
 
 # Setup directories
 install -d -m 755 %{buildroot}%{_datadir}/neutron
 
 # Setup directories
 install -d -m 755 %{buildroot}%{_datadir}/neutron
@@ -503,6 +510,11 @@ install -p -m 644 %{SOURCE27} %{buildroot}%{_datadir}/neutron/
 install -p -m 644 %{SOURCE28} %{buildroot}%{_datadir}/neutron/
 install -p -m 644 %{SOURCE29} %{buildroot}%{_datadir}/neutron/
 install -p -m 644 %{SOURCE40} %{buildroot}%{_datadir}/neutron/
 install -p -m 644 %{SOURCE28} %{buildroot}%{_datadir}/neutron/
 install -p -m 644 %{SOURCE29} %{buildroot}%{_datadir}/neutron/
 install -p -m 644 %{SOURCE40} %{buildroot}%{_datadir}/neutron/
+install -p -m 644 %{SOURCE41} %{buildroot}%{_datadir}/neutron/
+install -p -m 644 %{SOURCE42} %{buildroot}%{_datadir}/neutron/
+
+# Install dist conf
+install -p -D -m 640 %{SOURCE90} %{buildroot}%{_datadir}/neutron/neutron-dist.conf
 
 # Install version info file
 cat > %{buildroot}%{_sysconfdir}/neutron/release <<EOF
 
 # Install version info file
 cat > %{buildroot}%{_sysconfdir}/neutron/release <<EOF
@@ -524,6 +536,9 @@ exit 0
 if [ $1 -eq 1 ] ; then
     # Initial installation
     /sbin/chkconfig --add neutron-server
 if [ $1 -eq 1 ] ; then
     # Initial installation
     /sbin/chkconfig --add neutron-server
+    for agent in dhcp l3 metadata lbaas; do
+      /sbin/chkconfig --add neutron-$agent-agent
+    done
 fi
 
 %preun
 fi
 
 %preun
@@ -531,24 +546,19 @@ if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
     /sbin/service neutron-server stop >/dev/null 2>&1
     /sbin/chkconfig --del neutron-server
     # Package removal, not upgrade
     /sbin/service neutron-server stop >/dev/null 2>&1
     /sbin/chkconfig --del neutron-server
-    /sbin/service neutron-dhcp-agent stop >/dev/null 2>&1
-    /sbin/chkconfig --del neutron-dhcp-agent
-    /sbin/service neutron-l3-agent stop >/dev/null 2>&1
-    /sbin/chkconfig --del neutron-l3-agent
-       /sbin/service neutron-metadata-agent stop >/dev/null 2>&1
-       /sbin/chkconfig --del neutron-metadata-agent
-       /sbin/service neutron-lbaas-agent stop >/dev/null 2>&1
-       /sbin/chkconfig --del neutron-lbaas-agent
+    for agent in dhcp l3 metadata lbaas; do
+      /sbin/service neutron-$agent-agent stop >/dev/null 2>&1
+      /sbin/chkconfig --del neutron-$agent-agent
+    done
 fi
 
 %postun
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
     /sbin/service neutron-server condrestart >/dev/null 2>&1 || :
 fi
 
 %postun
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
     /sbin/service neutron-server condrestart >/dev/null 2>&1 || :
-    /sbin/service neutron-dhcp-agent condrestart >/dev/null 2>&1 || :
-    /sbin/service neutron-l3-agent condrestart >/dev/null 2>&1 || :
-    /sbin/service neutron-metadata-agent condrestart >/dev/null 2>&1 || :
-    /sbin/service neutron-lbaas-agent condrestart >/dev/null 2>&1 || :
+    for agent in dhcp l3 metadata lbaas; do
+      /sbin/service neutron-$agent-agent condrestart >/dev/null 2>&1 || :
+    done
 fi
 
 
 fi
 
 
@@ -612,6 +622,12 @@ if [ $1 -ge 1 ] ; then
 fi
 
 
 fi
 
 
+%post -n openstack-neutron-nec
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add neutron-nec-agent
+fi
+
 %preun -n openstack-neutron-nec
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
 %preun -n openstack-neutron-nec
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
@@ -648,6 +664,45 @@ if [ $1 -ge 1 ] ; then
 fi
 
 
 fi
 
 
+%post -n openstack-neutron-vpn-agent
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add neutron-vpn-agent
+fi
+
+%preun -n openstack-neutron-vpn-agent
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /sbin/service neutron-vpn-agent stop >/dev/null 2>&1
+    /sbin/chkconfig --del neutron-vpn-agent
+fi
+
+%postun -n openstack-neutron-vpn-agent
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /sbin/service neutron-vpn-agent condrestart >/dev/null 2>&1 || :
+fi
+
+
+%post -n openstack-neutron-metering-agent
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add neutron-metering-agent
+fi
+
+%preun -n openstack-neutron-metering-agent
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /sbin/service neutron-metering-agent stop >/dev/null 2>&1
+    /sbin/chkconfig --del neutron-metering-agent
+fi
+
+%postun -n openstack-neutron-metering-agent
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /sbin/service neutron-metering-agent condrestart >/dev/null 2>&1 || :
+fi
+
 %files
 %doc LICENSE
 %doc README.rst
 %files
 %doc LICENSE
 %doc README.rst
@@ -695,6 +750,7 @@ fi
 %{_datadir}/neutron/neutron-lbaas-agent.upstart
 %dir %{_sysconfdir}/neutron
 %{_sysconfdir}/neutron/release
 %{_datadir}/neutron/neutron-lbaas-agent.upstart
 %dir %{_sysconfdir}/neutron
 %{_sysconfdir}/neutron/release
+%attr(-, root, neutron) %{_datadir}/neutron/neutron-dist.conf
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/api-paste.ini
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/dhcp_agent.ini
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/l3_agent.ini
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/api-paste.ini
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/dhcp_agent.ini
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/l3_agent.ini
@@ -881,19 +937,40 @@ fi
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/metaplugin/*.ini
 
 
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/metaplugin/*.ini
 
 
-%files -n openstack-neutron-meetering-agent
+%files -n openstack-neutron-metering-agent
 %doc LICENSE
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metering_agent.ini
 %doc LICENSE
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metering_agent.ini
+%{_initrddir}/neutron-metering-agent
+%{_datadir}/neutron/neutron-metering-agent.upstart
 %{_bindir}/neutron-metering-agent
 
 
 %files -n openstack-neutron-vpn-agent
 %doc LICENSE
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/vpn_agent.ini
 %{_bindir}/neutron-metering-agent
 
 
 %files -n openstack-neutron-vpn-agent
 %doc LICENSE
 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/vpn_agent.ini
+%{_initrddir}/neutron-vpn-agent
+%{_datadir}/neutron/neutron-vpn-agent.upstart
 %{_bindir}/neutron-vpn-agent
 
 
 %changelog
 %{_bindir}/neutron-vpn-agent
 
 
 %changelog
+* Fri Oct 18 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-1
+- Update to havana GA
+
+* Thu Oct 10 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.12.rc1
+- Update to havana rc1
+
+* Wed Oct  2 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.11.b3
+- Add python-jinja2 requires to VPN agent
+- Ad missing services for VPN and metering agent
+
+* Thu Sep 26 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.10.b3
+- Add support for neutron-dist.conf
+
+* Tue Sep 17 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.9.b3
+- Fix typo in openstack-neutron-meetering-agent package name
+- Register all agent services with chkconfig during installation
+
 * Mon Sep 09 2013 Terry Wilson <twilson@rehdat.com> - 2013.2-0.4.b3
 - Update to havana milestone 3 release
 
 * Mon Sep 09 2013 Terry Wilson <twilson@rehdat.com> - 2013.2-0.4.b3
 - Update to havana milestone 3 release