Merge "msgpack-python requires g++"
diff --git a/doc/source/guides/nova.rst b/doc/source/guides/nova.rst
new file mode 100644
index 0000000..0d98f4a
--- /dev/null
+++ b/doc/source/guides/nova.rst
@@ -0,0 +1,72 @@
+=================
+Nova and devstack
+=================
+
+This is a rough guide to various configuration parameters for nova
+running with devstack.
+
+
+nova-serialproxy
+================
+
+In Juno nova implemented a `spec
+<http://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/serial-ports.html>`_
+to allow read/write access to the serial console of an instance via
+`nova-serialproxy
+<http://docs.openstack.org/developer/nova/man/nova-serialproxy.html>`_.
+
+The service can be enabled by adding ``n-sproxy`` to
+``ENABLED_SERVICES``. Further options can be enabled via
+``local.conf``, e.g.
+
+::
+
+ [[post-config|$NOVA_CONF]]
+ [serial_console]
+ #
+ # Options defined in nova.cmd.serialproxy
+ #
+
+ # Host on which to listen for incoming requests (string value)
+ #serialproxy_host=0.0.0.0
+
+ # Port on which to listen for incoming requests (integer
+ # value)
+ #serialproxy_port=6083
+
+
+ #
+ # Options defined in nova.console.serial
+ #
+
+ # Enable serial console related features (boolean value)
+ #enabled=false
+ # Do not set this manually. Instead enable the service as
+ # outlined above.
+
+ # Range of TCP ports to use for serial ports on compute hosts
+ # (string value)
+ #port_range=10000:20000
+
+ # Location of serial console proxy. (string value)
+ #base_url=ws://127.0.0.1:6083/
+
+ # IP address on which instance serial console should listen
+ # (string value)
+ #listen=127.0.0.1
+
+ # The address to which proxy clients (like nova-serialproxy)
+ # should connect (string value)
+ #proxyclient_address=127.0.0.1
+
+
+Enabling the service is enough to be functional for a single machine devstack.
+
+These config options are defined in `nova.console.serial
+<https://github.com/openstack/nova/blob/master/nova/console/serial.py#L33-L52>`_
+and `nova.cmd.serialproxy
+<https://github.com/openstack/nova/blob/master/nova/cmd/serialproxy.py#L26-L33>`_.
+
+For more information on OpenStack configuration see the `OpenStack
+Configuration Reference
+<http://docs.openstack.org/trunk/config-reference/content/list-of-compute-config-options.html>`_
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 855a2d6..10f4355 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -67,6 +67,7 @@
guides/multinode-lab
guides/neutron
guides/devstack-with-nested-kvm
+ guides/nova
All-In-One Single VM
--------------------
@@ -102,6 +103,11 @@
<guides/devstack-with-nested-kvm>`. With this setup, Nova instances
will be more performant than with plain QEMU emulation.
+Nova and devstack
+--------------------------------
+
+Guide to working with nova features :doc:`Nova and devstack <guides/nova>`.
+
DevStack Documentation
======================
diff --git a/files/apache-horizon.template b/files/apache-horizon.template
index bca1251..6883898 100644
--- a/files/apache-horizon.template
+++ b/files/apache-horizon.template
@@ -28,7 +28,9 @@
Require all granted
</IfVersion>
</Directory>
-
+ <IfVersion >= 2.4>
+ ErrorLogFormat "%{cu}t %M"
+ </IfVersion>
ErrorLog /var/log/%APACHE_NAME%/horizon_error.log
LogLevel warn
CustomLog /var/log/%APACHE_NAME%/horizon_access.log combined
diff --git a/files/debs/zaqar-server b/files/debs/zaqar-server
index 32b1017..6c2a4d1 100644
--- a/files/debs/zaqar-server
+++ b/files/debs/zaqar-server
@@ -1,5 +1,4 @@
python-pymongo
mongodb-server
pkg-config
-redis-server # NOPRIME
-python-redis # NOPRIME
\ No newline at end of file
+redis-server # NOPRIME
\ No newline at end of file
diff --git a/files/rpms/devlibs b/files/rpms/devlibs
index 42b7865..834a4b6 100644
--- a/files/rpms/devlibs
+++ b/files/rpms/devlibs
@@ -6,3 +6,4 @@
openssl-devel # pyOpenSSL
postgresql-devel # psycopg2
python-devel # pyOpenSSL
+redhat-rpm-config # MySQL-python rhbz-1195207 f21
diff --git a/lib/lvm b/lib/lvm
index c183f09..39eed00 100644
--- a/lib/lvm
+++ b/lib/lvm
@@ -103,14 +103,17 @@
function init_lvm_volume_group {
local vg=$1
local size=$2
- # Start with a clean volume group
- _create_lvm_volume_group $vg $size
+ # Start the lvmetad and tgtd services
if is_fedora || is_suse; then
- # service is not started by default
+ # services is not started by default
+ start_service lvm2-lvmetad
start_service tgtd
fi
+ # Start with a clean volume group
+ _create_lvm_volume_group $vg $size
+
# Remove iscsi targets
sudo tgtadm --op show --mode target | grep Target | cut -f3 -d ' ' | sudo xargs -n1 tgt-admin --delete || true
diff --git a/lib/nova b/lib/nova
index 74a3411..e9e78c7 100644
--- a/lib/nova
+++ b/lib/nova
@@ -566,6 +566,10 @@
if is_service_enabled tls-proxy; then
iniset $NOVA_CONF DEFAULT ec2_listen_port $EC2_SERVICE_PORT_INT
fi
+
+ if is_service_enabled n-sproxy; then
+ iniset $NOVA_CONF serial_console enabled True
+ fi
}
function init_nova_cells {
@@ -764,6 +768,7 @@
run_process n-xvnc "$NOVA_BIN_DIR/nova-xvpvncproxy --config-file $api_cell_conf"
run_process n-spice "$NOVA_BIN_DIR/nova-spicehtml5proxy --config-file $api_cell_conf --web $SPICE_WEB_DIR"
run_process n-cauth "$NOVA_BIN_DIR/nova-consoleauth --config-file $api_cell_conf"
+ run_process n-sproxy "$NOVA_BIN_DIR/nova-serialproxy --config-file $api_cell_conf"
# Starting the nova-objectstore only if swift3 service is not enabled.
# Swift will act as s3 objectstore.
@@ -794,7 +799,7 @@
# Kill the nova screen windows
# Some services are listed here twice since more than one instance
# of a service may be running in certain configs.
- for serv in n-api n-crt n-net n-sch n-novnc n-xvnc n-cauth n-spice n-cond n-cell n-cell n-api-meta n-obj; do
+ for serv in n-api n-crt n-net n-sch n-novnc n-xvnc n-cauth n-spice n-cond n-cell n-cell n-api-meta n-obj n-sproxy; do
stop_process $serv
done
}
diff --git a/lib/oslo b/lib/oslo
index 31c9d34..effde90 100644
--- a/lib/oslo
+++ b/lib/oslo
@@ -31,6 +31,7 @@
GITDIR["oslo.log"]=$DEST/oslo.log
GITDIR["oslo.messaging"]=$DEST/oslo.messaging
GITDIR["oslo.middleware"]=$DEST/oslo.middleware
+GITDIR["oslo.policy"]=$DEST/oslo.policy
GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap
GITDIR["oslo.serialization"]=$DEST/oslo.serialization
GITDIR["oslo.utils"]=$DEST/oslo.utils
@@ -65,6 +66,7 @@
_do_install_oslo_lib "oslo.log"
_do_install_oslo_lib "oslo.messaging"
_do_install_oslo_lib "oslo.middleware"
+ _do_install_oslo_lib "oslo.policy"
_do_install_oslo_lib "oslo.rootwrap"
_do_install_oslo_lib "oslo.serialization"
_do_install_oslo_lib "oslo.utils"
diff --git a/lib/zaqar b/lib/zaqar
index 4a24415..c9321b9 100644
--- a/lib/zaqar
+++ b/lib/zaqar
@@ -147,13 +147,13 @@
function configure_redis {
if is_ubuntu; then
install_package redis-server
+ pip_install redis
elif is_fedora; then
install_package redis
+ pip_install redis
else
exit_distro_not_supported "redis installation"
fi
-
- install_package python-redis
}
function configure_mongodb {
diff --git a/stack.sh b/stack.sh
index f597f78..44a0743 100755
--- a/stack.sh
+++ b/stack.sh
@@ -728,14 +728,6 @@
# Install middleware
install_keystonemiddleware
-# install the OpenStack client, needed for most setup commands
-if use_library_from_git "python-openstackclient"; then
- git_clone_by_name "python-openstackclient"
- setup_dev_lib "python-openstackclient"
-else
- pip_install 'python-openstackclient>=1.0.2'
-fi
-
if is_service_enabled keystone; then
if [ "$KEYSTONE_AUTH_HOST" == "$SERVICE_HOST" ]; then
@@ -810,13 +802,22 @@
# don't be naive and add to existing line!
fi
-
# Extras Install
# --------------
# Phase: install
run_phase stack install
+
+# install the OpenStack client, needed for most setup commands
+if use_library_from_git "python-openstackclient"; then
+ git_clone_by_name "python-openstackclient"
+ setup_dev_lib "python-openstackclient"
+else
+ pip_install 'python-openstackclient>=1.0.2'
+fi
+
+
if [[ $TRACK_DEPENDS = True ]]; then
$DEST/.venv/bin/pip freeze > $DEST/requires-post-pip
if ! diff -Nru $DEST/requires-pre-pip $DEST/requires-post-pip > $DEST/requires.diff; then
diff --git a/stackrc b/stackrc
index 4353b12..e084d94 100644
--- a/stackrc
+++ b/stackrc
@@ -119,7 +119,7 @@
# This can be used to turn database query logging on and off
# (currently only implemented for MySQL backend)
-DATABASE_QUERY_LOGGING=$(trueorfalse True DATABASE_QUERY_LOGGING)
+DATABASE_QUERY_LOGGING=$(trueorfalse False DATABASE_QUERY_LOGGING)
# Set a timeout for git operations. If git is still running when the
# timeout expires, the command will be retried up to 3 times. This is
@@ -346,6 +346,10 @@
GITREPO["oslo.middleware"]=${OSLOMID_REPO:-${GIT_BASE}/openstack/oslo.middleware.git}
GITBRANCH["oslo.middleware"]=${OSLOMID_BRANCH:-master}
+# oslo.policy
+GITREPO["oslo.policy"]=${OSLOPOLICY_REPO:-${GIT_BASE}/openstack/oslo.policy.git}
+GITBRANCH["oslo.policy"]=${OSLOPOLICY_BRANCH:-master}
+
# oslo.rootwrap
GITREPO["oslo.rootwrap"]=${OSLORWRAP_REPO:-${GIT_BASE}/openstack/oslo.rootwrap.git}
GITBRANCH["oslo.rootwrap"]=${OSLORWRAP_BRANCH:-master}
diff --git a/tests/test_libs_from_pypi.sh b/tests/test_libs_from_pypi.sh
index cce0203..a2a6cb7 100755
--- a/tests/test_libs_from_pypi.sh
+++ b/tests/test_libs_from_pypi.sh
@@ -29,7 +29,7 @@
fi
done
-ALL_LIBS="python-novaclient oslo.config pbr oslo.context python-troveclient python-keystoneclient taskflow oslo.middleware pycadf python-glanceclient python-ironicclient tempest-lib oslo.messaging oslo.log cliff python-heatclient stevedore python-cinderclient glance_store oslo.concurrency oslo.db oslo.vmware keystonemiddleware oslo.serialization python-saharaclient django_openstack_auth python-openstackclient oslo.rootwrap oslo.i18n python-ceilometerclient oslo.utils python-swiftclient python-neutronclient tooz ceilometermiddleware"
+ALL_LIBS="python-novaclient oslo.config pbr oslo.context python-troveclient python-keystoneclient taskflow oslo.middleware pycadf python-glanceclient python-ironicclient tempest-lib oslo.messaging oslo.log cliff python-heatclient stevedore python-cinderclient glance_store oslo.concurrency oslo.db oslo.vmware keystonemiddleware oslo.serialization python-saharaclient django_openstack_auth python-openstackclient oslo.rootwrap oslo.i18n python-ceilometerclient oslo.utils python-swiftclient python-neutronclient tooz ceilometermiddleware oslo.policy"
# Generate the above list with
# echo ${!GITREPO[@]}