Merge "On Ubuntu: don't start Zookeeper twice"
diff --git a/files/debs/ceilometer-collector b/files/debs/ceilometer-collector
index 94c82e0..d1e9eef 100644
--- a/files/debs/ceilometer-collector
+++ b/files/debs/ceilometer-collector
@@ -1,3 +1,3 @@
-python-pymongo #NOPRIME
-mongodb-server #NOPRIME
libnspr4-dev
+mongodb-server #NOPRIME
+python-pymongo #NOPRIME
diff --git a/files/debs/cinder b/files/debs/cinder
index 51908eb..48b8d0f 100644
--- a/files/debs/cinder
+++ b/files/debs/cinder
@@ -1,6 +1,6 @@
-tgt # NOPRIME
-lvm2
-qemu-utils
libpq-dev
+lvm2
open-iscsi
open-iscsi-utils # Deprecated since quantal dist:precise
+qemu-utils
+tgt # NOPRIME
diff --git a/files/debs/general b/files/debs/general
index 58d1e8b..9b27156 100644
--- a/files/debs/general
+++ b/files/debs/general
@@ -1,32 +1,32 @@
+bc
bridge-utils
-screen
-unzip
-wget
-psmisc
-gcc
+curl
g++
+gcc
+gettext # used for compiling message catalogs
git
graphviz # needed for docs
-lsof # useful when debugging
-openssh-server
-openssl
iputils-ping
-wget
-curl
-tcpdump
-tar
-python-dev
-python2.7
-python-gdbm # needed for testr
-bc
-libyaml-dev
libffi-dev # for pyOpenSSL
+libmysqlclient-dev # MySQL-python
+libpq-dev # psycopg2
libssl-dev # for pyOpenSSL
libxml2-dev # lxml
libxslt1-dev # lxml
-gettext # used for compiling message catalogs
+libyaml-dev
+lsof # useful when debugging
openjdk-7-jre-headless # NOPRIME
+openssh-server
+openssl
pkg-config
-libmysqlclient-dev # MySQL-python
-libpq-dev # psycopg2
+psmisc
+python2.7
+python-dev
+python-gdbm # needed for testr
+screen
+tar
+tcpdump
+unzip
+wget
+wget
zlib1g-dev
diff --git a/files/debs/ironic b/files/debs/ironic
index 0a906db..4d5a6aa 100644
--- a/files/debs/ironic
+++ b/files/debs/ironic
@@ -6,8 +6,8 @@
libvirt-bin
open-iscsi
openssh-client
-openvswitch-switch
openvswitch-datapath-dkms
+openvswitch-switch
python-libguestfs
python-libvirt
qemu
diff --git a/files/debs/keystone b/files/debs/keystone
index f5816b5..0795167 100644
--- a/files/debs/keystone
+++ b/files/debs/keystone
@@ -1,6 +1,6 @@
-sqlite3
-python-mysqldb
-python-mysql.connector
+libkrb5-dev
libldap2-dev
libsasl2-dev
-libkrb5-dev
+python-mysql.connector
+python-mysqldb
+sqlite3
diff --git a/files/debs/ldap b/files/debs/ldap
index 26f7aef..aa3a934 100644
--- a/files/debs/ldap
+++ b/files/debs/ldap
@@ -1,3 +1,3 @@
ldap-utils
-slapd
python-ldap
+slapd
diff --git a/files/debs/n-cpu b/files/debs/n-cpu
index ffc947a..0da57ee 100644
--- a/files/debs/n-cpu
+++ b/files/debs/n-cpu
@@ -1,8 +1,8 @@
-qemu-utils
+cryptsetup
+genisoimage
lvm2 # NOPRIME
open-iscsi
-genisoimage
-sysfsutils
-sg3-utils
python-guestfs # NOPRIME
-cryptsetup
+qemu-utils
+sg3-utils
+sysfsutils
diff --git a/files/debs/neutron b/files/debs/neutron
index b5a457e..85145d3 100644
--- a/files/debs/neutron
+++ b/files/debs/neutron
@@ -1,18 +1,18 @@
acl
-ebtables
-iptables
-iputils-ping
-iputils-arping
-libmysqlclient-dev
-mysql-server #NOPRIME
-sudo
-postgresql-server-dev-all
-python-mysqldb
-python-mysql.connector
dnsmasq-base
dnsmasq-utils # for dhcp_release only available in dist:precise
+ebtables
+iptables
+iputils-arping
+iputils-ping
+libmysqlclient-dev
+mysql-server #NOPRIME
+postgresql-server-dev-all
+python-mysql.connector
+python-mysqldb
rabbitmq-server # NOPRIME
-sqlite3
-vlan
radvd # NOPRIME
+sqlite3
+sudo
uuid-runtime
+vlan
diff --git a/files/debs/nova b/files/debs/nova
index fa394e7..fe57fc4 100644
--- a/files/debs/nova
+++ b/files/debs/nova
@@ -1,26 +1,26 @@
+conntrack
+curl
dnsmasq-base
dnsmasq-utils # for dhcp_release
-conntrack
-kpartx
-parted
-iputils-arping
-libmysqlclient-dev
-mysql-server # NOPRIME
-python-mysqldb
-python-mysql.connector
-gawk
-iptables
ebtables
-sqlite3
-sudo
-qemu-kvm # NOPRIME
-qemu # dist:wheezy,jessie NOPRIME
+gawk
+genisoimage # required for config_drive
+iptables
+iputils-arping
+kpartx
+libjs-jquery-tablesorter # Needed for coverage html reports
+libmysqlclient-dev
libvirt-bin # NOPRIME
libvirt-dev # NOPRIME
+mysql-server # NOPRIME
+parted
pm-utils
-libjs-jquery-tablesorter # Needed for coverage html reports
-vlan
-curl
-genisoimage # required for config_drive
+python-mysql.connector
+python-mysqldb
+qemu # dist:wheezy,jessie NOPRIME
+qemu-kvm # NOPRIME
rabbitmq-server # NOPRIME
socat # used by ajaxterm
+sqlite3
+sudo
+vlan
diff --git a/files/debs/zookeeper b/files/debs/zookeeper
index 66227f7..f41b559 100644
--- a/files/debs/zookeeper
+++ b/files/debs/zookeeper
@@ -1 +1 @@
-zookeeperd
\ No newline at end of file
+zookeeperd
diff --git a/files/rpms-suse/ceilometer-collector b/files/rpms-suse/ceilometer-collector
index 5e4dfcc..fc75ffa 100644
--- a/files/rpms-suse/ceilometer-collector
+++ b/files/rpms-suse/ceilometer-collector
@@ -1,3 +1,3 @@
-# Not available in openSUSE main repositories, but can be fetched from OBS
# (devel:languages:python and server:database projects)
mongodb
+# Not available in openSUSE main repositories, but can be fetched from OBS
diff --git a/files/rpms-suse/ceph b/files/rpms-suse/ceph
index 8d46500..8c4955d 100644
--- a/files/rpms-suse/ceph
+++ b/files/rpms-suse/ceph
@@ -1,3 +1,3 @@
ceph # NOPRIME
-xfsprogs
lsb
+xfsprogs
diff --git a/files/rpms-suse/cinder b/files/rpms-suse/cinder
index 3fd03cc..56b1bb5 100644
--- a/files/rpms-suse/cinder
+++ b/files/rpms-suse/cinder
@@ -1,6 +1,6 @@
lvm2
-tgt # NOPRIME
-qemu-tools
-python-devel
-postgresql-devel
open-iscsi
+postgresql-devel
+python-devel
+qemu-tools
+tgt # NOPRIME
diff --git a/files/rpms-suse/general b/files/rpms-suse/general
index 3a7c4b5..651243d 100644
--- a/files/rpms-suse/general
+++ b/files/rpms-suse/general
@@ -8,21 +8,21 @@
git-core
graphviz # docs
iputils
+libffi-devel # pyOpenSSL
+libmysqlclient-devel # MySQL-python
libopenssl-devel # to rebuild pyOpenSSL if needed
+libxslt-devel # lxml
lsof # useful when debugging
make
+net-tools
openssh
openssl
+postgresql-devel # psycopg2
psmisc
python-cmd2 # dist:opensuse-12.3
+python-devel # pyOpenSSL
screen
tar
tcpdump
unzip
wget
-net-tools
-libffi-devel # pyOpenSSL
-libxslt-devel # lxml
-postgresql-devel # psycopg2
-libmysqlclient-devel # MySQL-python
-python-devel # pyOpenSSL
diff --git a/files/rpms-suse/horizon b/files/rpms-suse/horizon
index 77f7c34..753ea76 100644
--- a/files/rpms-suse/horizon
+++ b/files/rpms-suse/horizon
@@ -1,2 +1,2 @@
-apache2 # NOPRIME
apache2-mod_wsgi # NOPRIME
+apache2 # NOPRIME
diff --git a/files/rpms-suse/n-api b/files/rpms-suse/n-api
index 6f59e60..af5ac2f 100644
--- a/files/rpms-suse/n-api
+++ b/files/rpms-suse/n-api
@@ -1,2 +1,2 @@
-python-dateutil
fping
+python-dateutil
diff --git a/files/rpms-suse/n-cpu b/files/rpms-suse/n-cpu
index b3a468d..29bd31b 100644
--- a/files/rpms-suse/n-cpu
+++ b/files/rpms-suse/n-cpu
@@ -1,7 +1,7 @@
-# Stuff for diablo volumes
+cryptsetup
genisoimage
lvm2
open-iscsi
-sysfsutils
sg3_utils
-cryptsetup
+# Stuff for diablo volumes
+sysfsutils
diff --git a/files/rpms-suse/neutron b/files/rpms-suse/neutron
index 1339799..4b0eefa 100644
--- a/files/rpms-suse/neutron
+++ b/files/rpms-suse/neutron
@@ -7,7 +7,7 @@
mariadb # NOPRIME
postgresql-devel
rabbitmq-server # NOPRIME
+radvd # NOPRIME
sqlite3
sudo
vlan
-radvd # NOPRIME
diff --git a/files/rpms-suse/nova b/files/rpms-suse/nova
index 039456f..2f3ad21 100644
--- a/files/rpms-suse/nova
+++ b/files/rpms-suse/nova
@@ -1,7 +1,7 @@
+conntrack-tools
curl
dnsmasq
dnsmasq-utils # dist:opensuse-12.3,opensuse-13.1
-conntrack-tools
ebtables
gawk
genisoimage # required for config_drive
@@ -9,14 +9,14 @@
iputils
kpartx
kvm # NOPRIME
-# qemu as fallback if kvm cannot be used
-qemu # NOPRIME
libvirt # NOPRIME
libvirt-python # NOPRIME
mariadb # NOPRIME
parted
polkit
python-devel
+# qemu as fallback if kvm cannot be used
+qemu # NOPRIME
rabbitmq-server # NOPRIME
socat
sqlite3
diff --git a/files/rpms-suse/openvswitch b/files/rpms-suse/openvswitch
index edfb4d2..53f8bb2 100644
--- a/files/rpms-suse/openvswitch
+++ b/files/rpms-suse/openvswitch
@@ -1,3 +1,3 @@
+
openvswitch
openvswitch-switch
-
diff --git a/files/rpms/ceilometer-collector b/files/rpms/ceilometer-collector
index b139ed2..a8b8118 100644
--- a/files/rpms/ceilometer-collector
+++ b/files/rpms/ceilometer-collector
@@ -1,3 +1,3 @@
-selinux-policy-targeted
-mongodb-server #NOPRIME
mongodb # NOPRIME
+mongodb-server #NOPRIME
+selinux-policy-targeted
diff --git a/files/rpms/ceph b/files/rpms/ceph
index 5483735..64befc5 100644
--- a/files/rpms/ceph
+++ b/files/rpms/ceph
@@ -1,3 +1,3 @@
ceph # NOPRIME
-xfsprogs
redhat-lsb-core
+xfsprogs
diff --git a/files/rpms/cinder b/files/rpms/cinder
index a88503b..f28f04d 100644
--- a/files/rpms/cinder
+++ b/files/rpms/cinder
@@ -1,5 +1,5 @@
-lvm2
-scsi-target-utils # NOPRIME
-qemu-img
-postgresql-devel
iscsi-initiator-utils
+lvm2
+postgresql-devel
+qemu-img
+scsi-target-utils # NOPRIME
diff --git a/files/rpms/dstat b/files/rpms/dstat
index 8a8f8fe..2b643b8 100644
--- a/files/rpms/dstat
+++ b/files/rpms/dstat
@@ -1 +1 @@
-dstat
\ No newline at end of file
+dstat
diff --git a/files/rpms/general b/files/rpms/general
index eb479d2..cfd9479 100644
--- a/files/rpms/general
+++ b/files/rpms/general
@@ -1,35 +1,35 @@
+bc
bridge-utils
curl
dbus
euca2ools # only for testing client
gcc
gcc-c++
+gettext # used for compiling message catalogs
git-core
graphviz # needed only for docs
-openssh-server
-openssl
-openssl-devel # to rebuild pyOpenSSL if needed
+iptables-services # NOPRIME f21,f22
+java-1.7.0-openjdk-headless # NOPRIME rhel7
+java-1.8.0-openjdk-headless # NOPRIME f21,f22
libffi-devel
libxml2-devel # lxml
libxslt-devel # lxml
+libyaml-devel
+mariadb-devel # MySQL-python
+net-tools
+openssh-server
+openssl
+openssl-devel # to rebuild pyOpenSSL if needed
pkgconfig
+postgresql-devel # psycopg2
psmisc
+pyOpenSSL # version in pip uses too much memory
python-devel
+redhat-rpm-config # MySQL-python rhbz-1195207 f21
screen
tar
tcpdump
unzip
wget
which
-bc
-libyaml-devel
-gettext # used for compiling message catalogs
-net-tools
-java-1.7.0-openjdk-headless # NOPRIME rhel7
-java-1.8.0-openjdk-headless # NOPRIME f21,f22
-pyOpenSSL # version in pip uses too much memory
-iptables-services # NOPRIME f21,f22
-mariadb-devel # MySQL-python
-postgresql-devel # psycopg2
-redhat-rpm-config # MySQL-python rhbz-1195207 f21
zlib-devel
diff --git a/files/rpms/horizon b/files/rpms/horizon
index b2cf0de..aeb2cb5 100644
--- a/files/rpms/horizon
+++ b/files/rpms/horizon
@@ -1,5 +1,5 @@
Django
httpd # NOPRIME
mod_wsgi # NOPRIME
-pyxattr
pcre-devel # pyScss
+pyxattr
diff --git a/files/rpms/keystone b/files/rpms/keystone
index 7384150..c01c261 100644
--- a/files/rpms/keystone
+++ b/files/rpms/keystone
@@ -1,3 +1,3 @@
+mod_ssl
MySQL-python
sqlite
-mod_ssl
diff --git a/files/rpms/ldap b/files/rpms/ldap
index d89c4cf..d5b8fa4 100644
--- a/files/rpms/ldap
+++ b/files/rpms/ldap
@@ -1,2 +1,2 @@
-openldap-servers
openldap-clients
+openldap-servers
diff --git a/files/rpms/n-cpu b/files/rpms/n-cpu
index 81278b3..7773b04 100644
--- a/files/rpms/n-cpu
+++ b/files/rpms/n-cpu
@@ -1,7 +1,7 @@
-# Stuff for diablo volumes
+cryptsetup
+genisoimage
iscsi-initiator-utils
lvm2
-genisoimage
-sysfsutils
sg3_utils
-cryptsetup
+# Stuff for diablo volumes
+sysfsutils
diff --git a/files/rpms/neutron b/files/rpms/neutron
index 29851be..b3f79ed 100644
--- a/files/rpms/neutron
+++ b/files/rpms/neutron
@@ -1,4 +1,3 @@
-MySQL-python
acl
dnsmasq # for q-dhcp
dnsmasq-utils # for dhcp_release
@@ -7,10 +6,11 @@
iputils
mysql-connector-python
mysql-devel
+MySQL-python
mysql-server # NOPRIME
openvswitch # NOPRIME
postgresql-devel
rabbitmq-server # NOPRIME
+radvd # NOPRIME
sqlite
sudo
-radvd # NOPRIME
diff --git a/files/rpms/nova b/files/rpms/nova
index 6eeb623..e70f138 100644
--- a/files/rpms/nova
+++ b/files/rpms/nova
@@ -1,8 +1,7 @@
-MySQL-python
+conntrack-tools
curl
dnsmasq # for nova-network
dnsmasq-utils # for dhcp_release
-conntrack-tools
ebtables
gawk
genisoimage # required for config_drive
@@ -10,18 +9,19 @@
iputils
kpartx
kvm # NOPRIME
-qemu-kvm # NOPRIME
libvirt-bin # NOPRIME
libvirt-devel # NOPRIME
libvirt-python # NOPRIME
libxml2-python
-numpy # needed by websockify for spice console
m2crypto
mysql-connector-python
mysql-devel
+MySQL-python
mysql-server # NOPRIME
+numpy # needed by websockify for spice console
parted
polkit
+qemu-kvm # NOPRIME
rabbitmq-server # NOPRIME
sqlite
sudo
diff --git a/files/rpms/swift b/files/rpms/swift
index 1bf57cc..f56a81b 100644
--- a/files/rpms/swift
+++ b/files/rpms/swift
@@ -1,7 +1,7 @@
curl
memcached
pyxattr
+rsync-daemon # dist:f22,f23
sqlite
xfsprogs
xinetd
-rsync-daemon # dist:f22,f23
diff --git a/files/rpms/zookeeper b/files/rpms/zookeeper
index c0d1c30..1bfac53 100644
--- a/files/rpms/zookeeper
+++ b/files/rpms/zookeeper
@@ -1 +1 @@
-zookeeper
\ No newline at end of file
+zookeeper
diff --git a/functions-common b/functions-common
index ca0543d..5c97aee 100644
--- a/functions-common
+++ b/functions-common
@@ -1072,6 +1072,10 @@
local file_to_parse=""
local service=""
+ if [ $# -ne 1 ]; then
+ die $LINENO "get_packages takes a single, comma-separated argument"
+ fi
+
if [[ -z "$package_dir" ]]; then
echo "No package directory supplied"
return 1
@@ -1366,7 +1370,7 @@
# Helper to launch a process in a named screen
# Uses globals ``CURRENT_LOG_TIME``, ```LOGDIR``, ``SCREEN_LOGDIR``, `SCREEN_NAME``,
-# ``SERVICE_DIR``, ``USE_SCREEN``
+# ``SERVICE_DIR``, ``USE_SCREEN``, ``SCREEN_IS_LOGGING``
# screen_process name "command-line" [group]
# Run a command in a shell in a screen window, if an optional group
# is provided, use sg to set the group of the command.
@@ -1386,8 +1390,12 @@
echo "SCREEN_LOGDIR: $SCREEN_LOGDIR"
echo "log: $real_logfile"
if [[ -n ${LOGDIR} ]]; then
- screen -S $SCREEN_NAME -p $name -X logfile "$real_logfile"
- screen -S $SCREEN_NAME -p $name -X log on
+ if [[ "$SCREEN_IS_LOGGING" == "True" ]]; then
+ screen -S $SCREEN_NAME -p $name -X logfile "$real_logfile"
+ screen -S $SCREEN_NAME -p $name -X log on
+ fi
+ # If logging isn't active then avoid a broken symlink
+ touch "$real_logfile"
ln -sf "$real_logfile" ${LOGDIR}/${name}.log
if [[ -n ${SCREEN_LOGDIR} ]]; then
# Drop the backward-compat symlink
@@ -1426,7 +1434,7 @@
}
# Screen rc file builder
-# Uses globals ``SCREEN_NAME``, ``SCREENRC``
+# Uses globals ``SCREEN_NAME``, ``SCREENRC``, ``SCREEN_IS_LOGGING``
# screen_rc service "command-line"
function screen_rc {
SCREEN_NAME=${SCREEN_NAME:-stack}
@@ -1446,7 +1454,7 @@
echo "screen -t $1 bash" >> $SCREENRC
echo "stuff \"$2$NL\"" >> $SCREENRC
- if [[ -n ${LOGDIR} ]]; then
+ if [[ -n ${LOGDIR} ]] && [[ "$SCREEN_IS_LOGGING" == "True" ]]; then
echo "logfile ${LOGDIR}/${1}.log.${CURRENT_LOG_TIME}" >>$SCREENRC
echo "log on" >>$SCREENRC
fi
diff --git a/stackrc b/stackrc
index 3033b27..76a5756 100644
--- a/stackrc
+++ b/stackrc
@@ -103,6 +103,16 @@
# be disabled for automated testing by setting this value to False.
USE_SCREEN=True
+# When using screen, should we keep a log file on disk? You might
+# want this False if you have a long-running setup where verbose logs
+# can fill-up the host.
+# XXX: Ideally screen itself would be configured to log but just not
+# activate. This isn't possible with the screerc syntax. Temporary
+# logging can still be used by a developer with:
+# C-a : logfile foo
+# C-a : log on
+SCREEN_IS_LOGGING=$(trueorfalse True SCREEN_IS_LOGGING)
+
# Passwords generated by interactive devstack runs
if [[ -r $RC_DIR/.localrc.password ]]; then
source $RC_DIR/.localrc.password