Merge "Add a note about overriding the journalctl nowrap default"
diff --git a/doc/source/systemd.rst b/doc/source/systemd.rst
index 2009f74..9cc4017 100644
--- a/doc/source/systemd.rst
+++ b/doc/source/systemd.rst
@@ -94,31 +94,36 @@
Follow logs for a specific service::
- journalctl -f --unit devstack@n-cpu.service
+ sudo journalctl -f --unit devstack@n-cpu.service
Following logs for multiple services simultaneously::
- journalctl -f --unit devstack@n-cpu.service --unit devstack@n-cond.service
+ sudo journalctl -f --unit devstack@n-cpu.service --unit devstack@n-cond.service
or you can even do wild cards to follow all the nova services::
- journalctl -f --unit devstack@n-*
+ sudo journalctl -f --unit devstack@n-*
Use higher precision time stamps::
- journalctl -f -o short-precise --unit devstack@n-cpu.service
+ sudo journalctl -f -o short-precise --unit devstack@n-cpu.service
By default, journalctl strips out "unprintable" characters, including
ASCII color codes. To keep the color codes (which can be interpreted by
an appropriate terminal/pager - e.g. ``less``, the default)::
- journalctl -a --unit devstack@n-cpu.service
+ sudo journalctl -a --unit devstack@n-cpu.service
When outputting to the terminal using the default pager, long lines
will be truncated, but horizontal scrolling is supported via the
left/right arrow keys. You can override this by setting the
``SYSTEMD_LESS`` environment variable to e.g. ``FRXM``.
+You can pipe the output to another tool, such as ``grep``. For
+example, to find a server instance UUID in the nova logs::
+
+ sudo journalctl -a --unit devstack@n-* | grep 58391b5c-036f-44d5-bd68-21d3c26349e6
+
See ``man 1 journalctl`` for more.
Debugging
diff --git a/files/rpms-suse/dstat b/files/rpms-suse/dstat
index 2b643b8..0d9da44 100644
--- a/files/rpms-suse/dstat
+++ b/files/rpms-suse/dstat
@@ -1 +1,2 @@
dstat
+python-psutil
diff --git a/files/rpms/keystone b/files/rpms/keystone
index 1703083..5f19c6f 100644
--- a/files/rpms/keystone
+++ b/files/rpms/keystone
@@ -1,4 +1,3 @@
memcached
mod_ssl
-MySQL-python
sqlite
diff --git a/files/rpms/neutron-common b/files/rpms/neutron-common
index a4e029a..0cc8d11 100644
--- a/files/rpms/neutron-common
+++ b/files/rpms/neutron-common
@@ -6,7 +6,6 @@
iptables
iputils
mysql-devel
-MySQL-python
mysql-server # NOPRIME
openvswitch # NOPRIME
rabbitmq-server # NOPRIME
diff --git a/files/rpms/nova b/files/rpms/nova
index 632e796..64ed480 100644
--- a/files/rpms/nova
+++ b/files/rpms/nova
@@ -12,7 +12,6 @@
libxml2-python
m2crypto
mysql-devel
-MySQL-python
mysql-server # NOPRIME
numpy # needed by websockify for spice console
parted
diff --git a/functions b/functions
index 33a0e6a..8b69c73 100644
--- a/functions
+++ b/functions
@@ -63,7 +63,7 @@
if [[ $file_url != file* ]]; then
# If the file isn't cache, download it
if [[ ! -f $FILES/$file_name ]]; then
- wget --progress=dot:giga -c $file_url -O $FILES/$file_name
+ wget --progress=dot:giga -t 2 -c $file_url -O $FILES/$file_name
if [[ $? -ne 0 ]]; then
die "$file_url could not be downloaded"
fi
diff --git a/functions-common b/functions-common
index 1b8ca96..c968531 100644
--- a/functions-common
+++ b/functions-common
@@ -319,10 +319,7 @@
if [[ -x $(command -v apt-get 2>/dev/null) ]]; then
sudo apt-get install -y lsb-release
elif [[ -x $(command -v zypper 2>/dev/null) ]]; then
- # XXX: old code paths seem to have assumed SUSE platforms also
- # had "yum". Keep this ordered above yum so we don't try to
- # install the rh package. suse calls it just "lsb"
- sudo zypper -n install lsb
+ sudo zypper -n install lsb-release
elif [[ -x $(command -v dnf 2>/dev/null) ]]; then
sudo dnf install -y redhat-lsb-core
elif [[ -x $(command -v yum 2>/dev/null) ]]; then
@@ -2014,7 +2011,7 @@
# Check if this is a valid ipv4 address string
function is_ipv4_address {
local address=$1
- local regex='([0-9]{1,3}.){3}[0-9]{1,3}'
+ local regex='([0-9]{1,3}\.){3}[0-9]{1,3}'
# TODO(clarkb) make this more robust
if [[ "$address" =~ $regex ]] ; then
return 0
diff --git a/inc/python b/inc/python
index 5e7f742..4bc1856 100644
--- a/inc/python
+++ b/inc/python
@@ -386,7 +386,20 @@
# determine if a package was installed from git
function lib_installed_from_git {
local name=$1
- pip freeze 2>/dev/null | grep -- "$name" | grep -q -- '-e git'
+ # Note "pip freeze" doesn't always work here, because it tries to
+ # be smart about finding the remote of the git repo the package
+ # was installed from. This doesn't work with zuul which clones
+ # repos with no remote.
+ #
+ # The best option seems to be to use "pip list" which will tell
+ # you the path an editable install was installed from; for example
+ # in response to something like
+ # pip install -e 'git+http://git.openstack.org/openstack-dev/bashate#egg=bashate'
+ # pip list shows
+ # bashate (0.5.2.dev19, /tmp/env/src/bashate)
+ # Thus we look for "path after a comma" to indicate we were
+ # installed from some local place
+ pip list 2>/dev/null | grep -- "$name" | grep -q -- ', .*)$'
}
# check that everything that's in LIBS_FROM_GIT was actually installed
diff --git a/lib/cinder b/lib/cinder
index 674787c..07f82a1 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -229,16 +229,6 @@
configure_auth_token_middleware $CINDER_CONF cinder $CINDER_AUTH_CACHE_DIR
- # Change the default nova_catalog_info and nova_catalog_admin_info values in
- # cinder so that the service name cinder is searching for matches that set for
- # nova in keystone.
- if [[ -n "$CINDER_NOVA_CATALOG_INFO" ]]; then
- iniset $CINDER_CONF DEFAULT nova_catalog_info $CINDER_NOVA_CATALOG_INFO
- fi
- if [[ -n "$CINDER_NOVA_CATALOG_ADMIN_INFO" ]]; then
- iniset $CINDER_CONF DEFAULT nova_catalog_admin_info $CINDER_NOVA_CATALOG_ADMIN_INFO
- fi
-
iniset $CINDER_CONF DEFAULT auth_strategy keystone
iniset $CINDER_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
@@ -253,9 +243,7 @@
iniset $CINDER_CONF DEFAULT periodic_interval $CINDER_PERIODIC_INTERVAL
iniset $CINDER_CONF DEFAULT my_ip "$HOST_IP"
- iniset $CINDER_CONF DEFAULT os_region_name "$REGION_NAME"
-
- iniset $CINDER_CONF key_manager api_class cinder.keymgr.conf_key_mgr.ConfKeyManager
+ iniset $CINDER_CONF key_manager backend cinder.keymgr.conf_key_mgr.ConfKeyManager
if is_service_enabled c-vol && [[ -n "$CINDER_ENABLED_BACKENDS" ]]; then
local enabled_backends=""
@@ -331,10 +319,9 @@
iniset $CINDER_CONF DEFAULT glance_api_version 2
fi
- # Set os_privileged_user credentials (used for os-assisted-snapshots)
- iniset $CINDER_CONF DEFAULT os_privileged_user_name nova
- iniset $CINDER_CONF DEFAULT os_privileged_user_password "$SERVICE_PASSWORD"
- iniset $CINDER_CONF DEFAULT os_privileged_user_tenant "$SERVICE_PROJECT_NAME"
+ # Set nova credentials (used for os-assisted-snapshots)
+ configure_auth_token_middleware $CINDER_CONF nova $CINDER_AUTH_CACHE_DIR nova
+ iniset $CINDER_CONF nova region_name "$REGION_NAME"
iniset $CINDER_CONF DEFAULT graceful_shutdown_timeout "$SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT"
if [[ ! -z "$CINDER_COORDINATION_URL" ]]; then
diff --git a/lib/etcd3 b/lib/etcd3
index 60e827a..51df8e4 100644
--- a/lib/etcd3
+++ b/lib/etcd3
@@ -40,9 +40,13 @@
cmd+=" --initial-cluster-state new --initial-cluster-token etcd-cluster-01"
cmd+=" --initial-cluster $HOSTNAME=http://$SERVICE_HOST:2380"
cmd+=" --initial-advertise-peer-urls http://$SERVICE_HOST:2380"
- cmd+=" --advertise-client-urls http://${HOST_IP}:$ETCD_PORT"
- cmd+=" --listen-peer-urls http://0.0.0.0:2380 "
- cmd+=" --listen-client-urls http://${HOST_IP}:$ETCD_PORT"
+ cmd+=" --advertise-client-urls http://$SERVICE_HOST:$ETCD_PORT"
+ if [ "$SERVICE_LISTEN_ADDRESS" == "::" ]; then
+ cmd+=" --listen-peer-urls http://[::]:2380 "
+ else
+ cmd+=" --listen-peer-urls http://0.0.0.0:2380 "
+ fi
+ cmd+=" --listen-client-urls http://$SERVICE_HOST:$ETCD_PORT"
local unitfile="$SYSTEMD_DIR/$ETCD_SYSTEMD_SERVICE"
write_user_unit_file $ETCD_SYSTEMD_SERVICE "$cmd" "" "root"
@@ -98,8 +102,8 @@
etcd_file="$(get_extra_file $ETCD_DOWNLOAD_LOCATION)"
if [ ! -f "$FILES/etcd-$ETCD_VERSION-linux-$ETCD_ARCH/etcd" ]; then
echo "${ETCD_SHA256} $etcd_file" > $FILES/etcd.sha256sum
- # NOTE(sdague): this should go fatal if this fails
- sha256sum -c $FILES/etcd.sha256sum
+ # NOTE(yuanke wei): rm the damaged file when checksum fails
+ sha256sum -c $FILES/etcd.sha256sum || (sudo rm -f $etcd_file; exit 1)
tar xzvf $etcd_file -C $FILES
sudo cp $FILES/$ETCD_NAME/etcd $ETCD_BIN_DIR/etcd
diff --git a/lib/keystone b/lib/keystone
index f4df635..714f089 100644
--- a/lib/keystone
+++ b/lib/keystone
@@ -450,7 +450,7 @@
iniset $conf_file $section cafile $SSL_BUNDLE_FILE
iniset $conf_file $section signing_dir $signing_dir
- iniset $conf_file $section memcached_servers $SERVICE_HOST:11211
+ iniset $conf_file $section memcached_servers localhost:11211
}
# init_keystone() - Initialize databases, etc.
diff --git a/lib/nova_plugins/hypervisor-ironic b/lib/nova_plugins/hypervisor-ironic
index 034e403..ee1a0e0 100644
--- a/lib/nova_plugins/hypervisor-ironic
+++ b/lib/nova_plugins/hypervisor-ironic
@@ -41,9 +41,9 @@
iniset $NOVA_CONF DEFAULT compute_driver ironic.IronicDriver
iniset $NOVA_CONF DEFAULT firewall_driver $LIBVIRT_FIREWALL_DRIVER
- iniset $NOVA_CONF DEFAULT scheduler_host_manager ironic_host_manager
if [[ "$IRONIC_USE_RESOURCE_CLASSES" == "False" ]]; then
+ iniset $NOVA_CONF DEFAULT scheduler_host_manager ironic_host_manager
iniset $NOVA_CONF filter_scheduler use_baremetal_filters True
iniset $NOVA_CONF filter_scheduler host_subset_size 999
iniset $NOVA_CONF DEFAULT ram_allocation_ratio 1.0
diff --git a/lib/rpc_backend b/lib/rpc_backend
index fb1cf73..44d0717 100644
--- a/lib/rpc_backend
+++ b/lib/rpc_backend
@@ -97,6 +97,8 @@
break
done
+ # NOTE(frickler): Remove the default guest user
+ sudo rabbitmqctl delete_user guest || true
fi
}
diff --git a/lib/tempest b/lib/tempest
index f086f9a..bdbaaa5 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -293,10 +293,6 @@
iniset $TEMPEST_CONFIG identity-feature-enabled security_compliance True
fi
- # TODO(rodrigods): This is a feature flag for bug 1590578 which is fixed in
- # Newton and Ocata. This option can be removed after Mitaka is end of life.
- iniset $TEMPEST_CONFIG identity-feature-enabled forbid_global_implied_dsr True
-
# When LDAP is enabled domain specific drivers are also enabled and the users
# and groups identity tests must adapt to this scenario
if is_service_enabled ldap; then
@@ -436,6 +432,12 @@
TEMPEST_VOLUME_MANAGE_VOLUME=${TEMPEST_VOLUME_MANAGE_VOLUME:-True}
fi
iniset $TEMPEST_CONFIG volume-feature-enabled manage_volume $(trueorfalse False TEMPEST_VOLUME_MANAGE_VOLUME)
+ # Only turn on TEMPEST_EXTEND_ATTACHED_VOLUME by default for "lvm" backends
+ # in Cinder and the libvirt driver in Nova.
+ if [[ "$CINDER_ENABLED_BACKENDS" == *"lvm"* ]] && [ "$VIRT_DRIVER" = "libvirt" ]; then
+ TEMPEST_EXTEND_ATTACHED_VOLUME=${TEMPEST_EXTEND_ATTACHED_VOLUME:-True}
+ fi
+ iniset $TEMPEST_CONFIG volume-feature-enabled extend_attached_volume $(trueorfalse False TEMPEST_EXTEND_ATTACHED_VOLUME)
# TODO(ameade): Remove the api_v3 flag when Mitaka and Liberty are end of life.
iniset $TEMPEST_CONFIG volume-feature-enabled api_v3 True
iniset $TEMPEST_CONFIG volume-feature-enabled api_v1 $(trueorfalse False TEMPEST_VOLUME_API_V1)
diff --git a/stackrc b/stackrc
index 0ffcb67..ffe4050 100644
--- a/stackrc
+++ b/stackrc
@@ -184,7 +184,7 @@
# will to be set to ``3`` in order to make DevStack register the Identity
# endpoint as v3. This flag is experimental and will be used as basis to
# identify the projects which still have issues to operate with Identity v3.
-ENABLE_IDENTITY_V2=$(trueorfalse True ENABLE_IDENTITY_V2)
+ENABLE_IDENTITY_V2=$(trueorfalse False ENABLE_IDENTITY_V2)
if [ "$ENABLE_IDENTITY_V2" == "False" ]; then
IDENTITY_API_VERSION=3
fi
@@ -246,7 +246,7 @@
# Setting the variable to 'ALL' will activate the download for all
# libraries.
-DEVSTACK_SERIES="pike"
+DEVSTACK_SERIES="queens"
##############
#
@@ -701,6 +701,11 @@
DEFAULT_IMAGE_FILE_NAME=${DEFAULT_IMAGE_NAME:-cirros-0.3.5-x86_64-disk.vhd.tgz}
IMAGE_URLS+="http://ca.downloads.xensource.com/OpenStack/cirros-0.3.5-x86_64-disk.vhd.tgz"
IMAGE_URLS+=",http://download.cirros-cloud.net/${CIRROS_VERSION}/cirros-${CIRROS_VERSION}-x86_64-uec.tar.gz";;
+ fake)
+ # Use the same as the default for libvirt
+ DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-disk}
+ DEFAULT_IMAGE_FILE_NAME=${DEFAULT_IMAGE_FILE_NAME:-cirros-${CIRROS_VERSION}-${CIRROS_ARCH}-disk.img}
+ IMAGE_URLS+="http://download.cirros-cloud.net/${CIRROS_VERSION}/${DEFAULT_IMAGE_FILE_NAME}";;
esac
DOWNLOAD_DEFAULT_IMAGES=False
fi
@@ -714,9 +719,9 @@
EXTRA_CACHE_URLS=""
# etcd3 defaults
-ETCD_VERSION=${ETCD_VERSION:-v3.1.7}
-ETCD_SHA256_AMD64="4fde194bbcd259401e2b5c462dfa579ee7f6af539f13f130b8f5b4f52e3b3c52"
-# NOTE(sdague): etcd v3.1.7 doesn't have anything for these architectures, though 3.2.0 does.
+ETCD_VERSION=${ETCD_VERSION:-v3.1.10}
+ETCD_SHA256_AMD64="2d335f298619c6fb02b1124773a56966e448ad9952b26fea52909da4fe80d2be"
+# NOTE(sdague): etcd v3.1.10 doesn't have anything for these architectures, though 3.2.x does.
ETCD_SHA256_ARM64=""
ETCD_SHA256_PPC64=""
ETCD_SHA256_S390X=""
diff --git a/tools/fixup_stuff.sh b/tools/fixup_stuff.sh
index f1552ab..efe0125 100755
--- a/tools/fixup_stuff.sh
+++ b/tools/fixup_stuff.sh
@@ -84,10 +84,10 @@
# we can find local mirrors then use that mirror.
source /etc/ci/mirror_info.sh
- sudo apt-add-repository -y "deb $NODEPOOL_UCA_MIRROR xenial-updates/ocata main"
+ sudo apt-add-repository -y "deb $NODEPOOL_UCA_MIRROR xenial-updates/pike main"
else
# Otherwise use upstream UCA
- sudo add-apt-repository -y cloud-archive:ocata
+ sudo add-apt-repository -y cloud-archive:pike
fi
# Disable use of libvirt wheel since a cached wheel build might be