Merge "Set lock_path for Tempest to TMPDIR"
diff --git a/lib/heat b/lib/heat
index 13bf130..8517773 100644
--- a/lib/heat
+++ b/lib/heat
@@ -41,11 +41,6 @@
     sudo rm -rf $HEAT_AUTH_CACHE_DIR
 }
 
-# configure_heatclient() - Set config files, create data dirs, etc
-function configure_heatclient() {
-    setup_develop $HEATCLIENT_DIR
-}
-
 # configure_heat() - Set config files, create data dirs, etc
 function configure_heat() {
     setup_develop $HEAT_DIR
@@ -176,6 +171,7 @@
 # install_heatclient() - Collect source and prepare
 function install_heatclient() {
     git_clone $HEATCLIENT_REPO $HEATCLIENT_DIR $HEATCLIENT_BRANCH
+    setup_develop $HEATCLIENT_DIR
 }
 
 # install_heat() - Collect source and prepare
diff --git a/lib/neutron_plugins/services/loadbalancer b/lib/neutron_plugins/services/loadbalancer
index 49e286a..c38f904 100644
--- a/lib/neutron_plugins/services/loadbalancer
+++ b/lib/neutron_plugins/services/loadbalancer
@@ -34,7 +34,6 @@
 
     cp $NEUTRON_DIR/etc/lbaas_agent.ini $LBAAS_AGENT_CONF_FILENAME
 
-    iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT use_namespaces $Q_USE_NAMESPACE
     # ovs_use_veth needs to be set before the plugin configuration
     # occurs to allow plugins to override the setting.
     iniset $LBAAS_AGENT_CONF_FILENAME DEFAULT ovs_use_veth $Q_OVS_USE_VETH
diff --git a/lib/tempest b/lib/tempest
index 62da1fc..0933334 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -254,10 +254,6 @@
     # Compute admin
     iniset $TEMPEST_CONF "compute-admin" password "$password" # DEPRECATED
 
-    # Network
-    if is_service_enabled neutron; then
-        iniset $TEMPEST_CONF service_available neutron "True"
-    fi
     iniset $TEMPEST_CONF network api_version 2.0
     iniset $TEMPEST_CONF network tenant_networks_reachable "$tenant_networks_reachable"
     iniset $TEMPEST_CONF network public_network_id "$public_network_id"
@@ -271,11 +267,6 @@
     iniset $TEMPEST_CONF boto http_socket_timeout 30
     iniset $TEMPEST_CONF boto ssh_user ${DEFAULT_INSTANCE_USER:-cirros}
 
-    # Orchestration
-    if is_service_enabled heat; then
-        iniset $TEMPEST_CONF orchestration heat_available "True"
-    fi
-
     # Scenario
     iniset $TEMPEST_CONF scenario img_dir "$FILES/images/cirros-0.3.1-x86_64-uec"
 
@@ -290,6 +281,15 @@
     # cli
     iniset $TEMPEST_CONF cli cli_dir $NOVA_BIN_DIR
 
+    # service_available
+    for service in nova cinder glance neutron swift heat ; do
+        if is_service_enabled $service ; then
+            iniset $TEMPEST_CONF service_available $service "True"
+        else
+            iniset $TEMPEST_CONF service_available $service "False"
+        fi
+    done
+
     echo "Created tempest configuration file:"
     cat $TEMPEST_CONF
 
diff --git a/stack.sh b/stack.sh
index de57c59..4e23505 100755
--- a/stack.sh
+++ b/stack.sh
@@ -666,12 +666,15 @@
 install_glanceclient
 install_cinderclient
 install_novaclient
-if is_service_enabled swift glance; then
+if is_service_enabled swift glance horizon; then
     install_swiftclient
 fi
-if is_service_enabled neutron nova; then
+if is_service_enabled neutron nova horizon; then
     install_neutronclient
 fi
+if is_service_enabled heat horizon; then
+    install_heatclient
+fi
 
 git_clone $OPENSTACKCLIENT_REPO $OPENSTACKCLIENT_DIR $OPENSTACKCLIENT_BRANCH
 setup_develop $OPENSTACKCLIENT_DIR
@@ -743,10 +746,8 @@
 
 if is_service_enabled heat; then
     install_heat
-    install_heatclient
     cleanup_heat
     configure_heat
-    configure_heatclient
 fi
 
 if is_service_enabled tls-proxy; then
diff --git a/tools/xen/functions b/tools/xen/functions
index 7146858..7616a5f 100644
--- a/tools/xen/functions
+++ b/tools/xen/functions
@@ -53,18 +53,18 @@
     find $1 -path '*/xapi.d/plugins' -type d -print
 }
 
-function install_xapi_plugins_from_zipball {
+function install_xapi_plugins_from {
     local XAPI_PLUGIN_DIR
     local EXTRACTED_FILES
     local EXTRACTED_PLUGINS_DIR
 
+    EXTRACTED_FILES="$1"
+
     XAPI_PLUGIN_DIR=$(xapi_plugin_location)
 
-    EXTRACTED_FILES=$(extract_remote_zipball $1)
     EXTRACTED_PLUGINS_DIR=$(find_xapi_plugins_dir $EXTRACTED_FILES)
 
     cp -pr $EXTRACTED_PLUGINS_DIR/* $XAPI_PLUGIN_DIR
-    rm -rf $EXTRACTED_FILES
     chmod a+x ${XAPI_PLUGIN_DIR}*
 }
 
diff --git a/tools/xen/install_os_domU.sh b/tools/xen/install_os_domU.sh
index 6eb3013..2cba33c 100755
--- a/tools/xen/install_os_domU.sh
+++ b/tools/xen/install_os_domU.sh
@@ -63,12 +63,25 @@
 
 ## Nova plugins
 NOVA_ZIPBALL_URL=${NOVA_ZIPBALL_URL:-$(zip_snapshot_location $NOVA_REPO $NOVA_BRANCH)}
-install_xapi_plugins_from_zipball $NOVA_ZIPBALL_URL
+EXTRACTED_NOVA=$(extract_remote_zipball "$NOVA_ZIPBALL_URL")
+install_xapi_plugins_from "$EXTRACTED_NOVA"
+
+LOGROT_SCRIPT=$(find "$EXTRACTED_NOVA" -name "rotate_xen_guest_logs.sh" -print)
+if [ -n "$LOGROT_SCRIPT" ]; then
+    mkdir -p "/var/log/xen/guest"
+    cp "$LOGROT_SCRIPT" /root/consolelogrotate
+    chmod +x /root/consolelogrotate
+    echo "* * * * * /root/consolelogrotate" | crontab
+fi
+
+rm -rf "$EXTRACTED_NOVA"
 
 ## Install the netwrap xapi plugin to support agent control of dom0 networking
 if [[ "$ENABLED_SERVICES" =~ "q-agt" && "$Q_PLUGIN" = "openvswitch" ]]; then
     NEUTRON_ZIPBALL_URL=${NEUTRON_ZIPBALL_URL:-$(zip_snapshot_location $NEUTRON_REPO $NEUTRON_BRANCH)}
-    install_xapi_plugins_from_zipball $NEUTRON_ZIPBALL_URL
+    EXTRACTED_NEUTRON=$(extract_remote_zipball "$NEUTRON_ZIPBALL_URL")
+    install_xapi_plugins_from "$EXTRACTED_NEUTRON"
+    rm -rf "$EXTRACTED_NEUTRON"
 fi
 
 create_directory_for_kernels