From 8f985b6ff1179d19872e83c97035fa49a8f660f6 Mon Sep 17 00:00:00 2001 From: xiaolihope Date: Wed, 18 May 2016 00:32:08 +0800 Subject: [PATCH] Remove heat code from devstack tree This removes all of the heat code from the devstack tree, in favor of the devstack plugin in Heat's tree. Depends-On: I4bed1e5cef5afa7b049b07640086a86a3f881e13 Depends-On: Ic392bcc24bc374ee8511a94f1d8f6ac23131c7e3 Change-Id: I5b60422bf1f5fa78aa8f3383f7a222e0356d9e42 --- clean.sh | 3 +- files/apache-heat-api-cfn.template | 27 -- files/apache-heat-api-cloudwatch.template | 27 -- files/apache-heat-api.template | 27 -- files/apache-heat-pip-repo.template | 15 - files/debs/heat | 1 - lib/heat | 467 ---------------------- stack.sh | 27 -- stackrc | 8 - tests/test_libs_from_pypi.sh | 2 +- unstack.sh | 5 - 11 files changed, 2 insertions(+), 607 deletions(-) delete mode 100644 files/apache-heat-api-cfn.template delete mode 100644 files/apache-heat-api-cloudwatch.template delete mode 100644 files/apache-heat-api.template delete mode 100644 files/apache-heat-pip-repo.template delete mode 100644 files/debs/heat delete mode 100644 lib/heat diff --git a/clean.sh b/clean.sh index bace3f53fe..b59635a821 100755 --- a/clean.sh +++ b/clean.sh @@ -49,7 +49,6 @@ source $TOP_DIR/lib/nova source $TOP_DIR/lib/placement source $TOP_DIR/lib/cinder source $TOP_DIR/lib/swift -source $TOP_DIR/lib/heat source $TOP_DIR/lib/neutron source $TOP_DIR/lib/neutron-legacy @@ -108,7 +107,7 @@ if is_service_enabled nova && [[ -r $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER ]]; th fi # Clean out /etc -sudo rm -rf /etc/keystone /etc/glance /etc/nova /etc/cinder /etc/swift /etc/heat /etc/neutron /etc/openstack/ +sudo rm -rf /etc/keystone /etc/glance /etc/nova /etc/cinder /etc/swift /etc/neutron /etc/openstack/ # Clean out tgt sudo rm -f /etc/tgt/conf.d/* diff --git a/files/apache-heat-api-cfn.template b/files/apache-heat-api-cfn.template deleted file mode 100644 index ab33c66f7e..0000000000 --- a/files/apache-heat-api-cfn.template +++ /dev/null @@ -1,27 +0,0 @@ -Listen %PUBLICPORT% - - - WSGIDaemonProcess heat-api-cfn processes=2 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV% - WSGIProcessGroup heat-api-cfn - WSGIScriptAlias / %HEAT_BIN_DIR%/heat-wsgi-api-cfn - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - AllowEncodedSlashes On - = 2.4> - ErrorLogFormat "%{cu}t %M" - - ErrorLog /var/log/%APACHE_NAME%/heat-api-cfn.log - %SSLENGINE% - %SSLCERTFILE% - %SSLKEYFILE% - - - = 2.4> - Require all granted - - - Order allow,deny - Allow from all - - - diff --git a/files/apache-heat-api-cloudwatch.template b/files/apache-heat-api-cloudwatch.template deleted file mode 100644 index 06c91bbdb1..0000000000 --- a/files/apache-heat-api-cloudwatch.template +++ /dev/null @@ -1,27 +0,0 @@ -Listen %PUBLICPORT% - - - WSGIDaemonProcess heat-api-cloudwatch processes=2 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV% - WSGIProcessGroup heat-api-cloudwatch - WSGIScriptAlias / %HEAT_BIN_DIR%/heat-wsgi-api-cloudwatch - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - AllowEncodedSlashes On - = 2.4> - ErrorLogFormat "%{cu}t %M" - - ErrorLog /var/log/%APACHE_NAME%/heat-api-cloudwatch.log - %SSLENGINE% - %SSLCERTFILE% - %SSLKEYFILE% - - - = 2.4> - Require all granted - - - Order allow,deny - Allow from all - - - diff --git a/files/apache-heat-api.template b/files/apache-heat-api.template deleted file mode 100644 index 4924b3978b..0000000000 --- a/files/apache-heat-api.template +++ /dev/null @@ -1,27 +0,0 @@ -Listen %PUBLICPORT% - - - WSGIDaemonProcess heat-api processes=3 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV% - WSGIProcessGroup heat-api - WSGIScriptAlias / %HEAT_BIN_DIR%/heat-wsgi-api - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - AllowEncodedSlashes On - = 2.4> - ErrorLogFormat "%{cu}t %M" - - ErrorLog /var/log/%APACHE_NAME%/heat-api.log - %SSLENGINE% - %SSLCERTFILE% - %SSLKEYFILE% - - - = 2.4> - Require all granted - - - Order allow,deny - Allow from all - - - diff --git a/files/apache-heat-pip-repo.template b/files/apache-heat-pip-repo.template deleted file mode 100644 index d88ac3e35a..0000000000 --- a/files/apache-heat-pip-repo.template +++ /dev/null @@ -1,15 +0,0 @@ -Listen %HEAT_PIP_REPO_PORT% - - - DocumentRoot %HEAT_PIP_REPO% - - DirectoryIndex index.html - Require all granted - Order allow,deny - allow from all - - - ErrorLog /var/log/%APACHE_NAME%/heat_pip_repo_error.log - LogLevel warn - CustomLog /var/log/%APACHE_NAME%/heat_pip_repo_access.log combined - diff --git a/files/debs/heat b/files/debs/heat deleted file mode 100644 index 1ecbc780b1..0000000000 --- a/files/debs/heat +++ /dev/null @@ -1 +0,0 @@ -gettext # dist:trusty diff --git a/lib/heat b/lib/heat deleted file mode 100644 index 0863128f81..0000000000 --- a/lib/heat +++ /dev/null @@ -1,467 +0,0 @@ -#!/bin/bash -# -# lib/heat -# Install and start **Heat** service - -# To enable, add the following to localrc -# -# ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng - -# Dependencies: -# (none) - -# stack.sh -# --------- -# - install_heatclient -# - install_heat -# - configure_heatclient -# - configure_heat -# - _config_heat_apache_wsgi -# - init_heat -# - start_heat -# - stop_heat -# - cleanup_heat - -# Save trace setting -_XTRACE_HEAT=$(set +o | grep xtrace) -set +o xtrace - - -# Defaults -# -------- - -# set up default directories -GITDIR["python-heatclient"]=$DEST/python-heatclient - -# Toggle for deploying Heat-API under HTTPD + mod_wsgi -HEAT_USE_MOD_WSGI=${HEAT_USE_MOD_WSGI:-False} - -HEAT_DIR=$DEST/heat -HEAT_CFNTOOLS_DIR=$DEST/heat-cfntools -HEAT_TEMPLATES_REPO_DIR=$DEST/heat-templates -OCC_DIR=$DEST/os-collect-config -ORC_DIR=$DEST/os-refresh-config -OAC_DIR=$DEST/os-apply-config - -HEAT_PIP_REPO=$DATA_DIR/heat-pip-repo -HEAT_PIP_REPO_PORT=${HEAT_PIP_REPO_PORT:-8899} - -HEAT_AUTH_CACHE_DIR=${HEAT_AUTH_CACHE_DIR:-/var/cache/heat} -HEAT_STANDALONE=$(trueorfalse False HEAT_STANDALONE) -HEAT_ENABLE_ADOPT_ABANDON=$(trueorfalse False HEAT_ENABLE_ADOPT_ABANDON) -HEAT_CONF_DIR=/etc/heat -HEAT_CONF=$HEAT_CONF_DIR/heat.conf -HEAT_ENV_DIR=$HEAT_CONF_DIR/environment.d -HEAT_TEMPLATES_DIR=$HEAT_CONF_DIR/templates -HEAT_API_HOST=${HEAT_API_HOST:-$HOST_IP} -HEAT_API_PORT=${HEAT_API_PORT:-8004} -HEAT_SERVICE_USER=${HEAT_SERVICE_USER:-heat} -HEAT_TRUSTEE_USER=${HEAT_TRUSTEE_USER:-$HEAT_SERVICE_USER} -HEAT_TRUSTEE_PASSWORD=${HEAT_TRUSTEE_PASSWORD:-$SERVICE_PASSWORD} -HEAT_TRUSTEE_DOMAIN=${HEAT_TRUSTEE_DOMAIN:-default} - -# Support entry points installation of console scripts -HEAT_BIN_DIR=$(get_python_exec_prefix) - -# other default options -if [[ "$HEAT_STANDALONE" = "True" ]]; then - # for standalone, use defaults which require no service user - HEAT_STACK_DOMAIN=$(trueorfalse False HEAT_STACK_DOMAIN) - HEAT_DEFERRED_AUTH=${HEAT_DEFERRED_AUTH:-password} - if [[ ${HEAT_DEFERRED_AUTH} != "password" ]]; then - # Heat does not support keystone trusts when deployed in - # standalone mode - die $LINENO \ - 'HEAT_DEFERRED_AUTH can only be set to "password" when HEAT_STANDALONE is True.' - fi -else - HEAT_STACK_DOMAIN=$(trueorfalse True HEAT_STACK_DOMAIN) - HEAT_DEFERRED_AUTH=${HEAT_DEFERRED_AUTH:-} -fi -HEAT_PLUGIN_DIR=${HEAT_PLUGIN_DIR:-$DATA_DIR/heat/plugins} -ENABLE_HEAT_PLUGINS=${ENABLE_HEAT_PLUGINS:-} - -# Functions -# --------- - -# Test if any Heat services are enabled -# is_heat_enabled -function is_heat_enabled { - [[ ,${ENABLED_SERVICES} =~ ,"h-" ]] && return 0 - return 1 -} - -# cleanup_heat() - Remove residual data files, anything left over from previous -# runs that a clean run would need to clean up -function cleanup_heat { - sudo rm -rf $HEAT_AUTH_CACHE_DIR - sudo rm -rf $HEAT_ENV_DIR - sudo rm -rf $HEAT_TEMPLATES_DIR - sudo rm -rf $HEAT_CONF_DIR -} - -# configure_heat() - Set config files, create data dirs, etc -function configure_heat { - - sudo install -d -o $STACK_USER $HEAT_CONF_DIR - # remove old config files - rm -f $HEAT_CONF_DIR/heat-*.conf - - HEAT_API_CFN_HOST=${HEAT_API_CFN_HOST:-$HOST_IP} - HEAT_API_CFN_PORT=${HEAT_API_CFN_PORT:-8000} - HEAT_ENGINE_HOST=${HEAT_ENGINE_HOST:-$SERVICE_HOST} - HEAT_ENGINE_PORT=${HEAT_ENGINE_PORT:-8001} - HEAT_API_CW_HOST=${HEAT_API_CW_HOST:-$HOST_IP} - HEAT_API_CW_PORT=${HEAT_API_CW_PORT:-8003} - HEAT_API_PASTE_FILE=$HEAT_CONF_DIR/api-paste.ini - HEAT_POLICY_FILE=$HEAT_CONF_DIR/policy.json - - cp $HEAT_DIR/etc/heat/api-paste.ini $HEAT_API_PASTE_FILE - cp $HEAT_DIR/etc/heat/policy.json $HEAT_POLICY_FILE - - # common options - iniset_rpc_backend heat $HEAT_CONF - iniset $HEAT_CONF DEFAULT heat_metadata_server_url http://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT - iniset $HEAT_CONF DEFAULT heat_waitcondition_server_url http://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1/waitcondition - iniset $HEAT_CONF DEFAULT heat_watch_server_url http://$HEAT_API_CW_HOST:$HEAT_API_CW_PORT - iniset $HEAT_CONF database connection `database_connection_url heat` - iniset $HEAT_CONF DEFAULT auth_encryption_key $(generate_hex_string 16) - - iniset $HEAT_CONF DEFAULT region_name_for_services "$REGION_NAME" - - # logging - iniset $HEAT_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL - iniset $HEAT_CONF DEFAULT use_syslog $SYSLOG - if [ "$LOG_COLOR" == "True" ] && [ "$SYSLOG" == "False" ] && [ "$HEAT_USE_MOD_WSGI" == "False" ] ; then - # Add color to logging output - setup_colorized_logging $HEAT_CONF DEFAULT tenant user - fi - - if [ ! -z "$HEAT_DEFERRED_AUTH" ]; then - iniset $HEAT_CONF DEFAULT deferred_auth_method $HEAT_DEFERRED_AUTH - fi - - if [ "$HEAT_USE_MOD_WSGI" == "True" ]; then - _config_heat_apache_wsgi - fi - - if [[ "$HEAT_STANDALONE" = "True" ]]; then - iniset $HEAT_CONF paste_deploy flavor standalone - iniset $HEAT_CONF clients_heat url "http://$HEAT_API_HOST:$HEAT_API_PORT/v1/%(tenant_id)s" - else - configure_auth_token_middleware $HEAT_CONF heat $HEAT_AUTH_CACHE_DIR - fi - - # If HEAT_DEFERRED_AUTH is unset or explicitly set to trusts, configure - # the section for the client plugin associated with the trustee - if [ -z "$HEAT_DEFERRED_AUTH" -o "trusts" == "$HEAT_DEFERRED_AUTH" ]; then - iniset $HEAT_CONF trustee auth_type password - iniset $HEAT_CONF trustee auth_url $KEYSTONE_AUTH_URI - iniset $HEAT_CONF trustee username $HEAT_TRUSTEE_USER - iniset $HEAT_CONF trustee password $HEAT_TRUSTEE_PASSWORD - iniset $HEAT_CONF trustee user_domain_id $HEAT_TRUSTEE_DOMAIN - fi - - # clients_keystone - iniset $HEAT_CONF clients_keystone auth_uri $KEYSTONE_AUTH_URI - - # OpenStack API - iniset $HEAT_CONF heat_api bind_port $HEAT_API_PORT - iniset $HEAT_CONF heat_api workers "$API_WORKERS" - - # Cloudformation API - iniset $HEAT_CONF heat_api_cfn bind_port $HEAT_API_CFN_PORT - - # Cloudwatch API - iniset $HEAT_CONF heat_api_cloudwatch bind_port $HEAT_API_CW_PORT - - if is_ssl_enabled_service "key" || is_service_enabled tls-proxy; then - iniset $HEAT_CONF clients_keystone ca_file $SSL_BUNDLE_FILE - fi - - if is_ssl_enabled_service "nova" || is_service_enabled tls-proxy; then - iniset $HEAT_CONF clients_nova ca_file $SSL_BUNDLE_FILE - fi - - if is_ssl_enabled_service "cinder" || is_service_enabled tls-proxy; then - iniset $HEAT_CONF clients_cinder ca_file $SSL_BUNDLE_FILE - fi - - if [[ "$HEAT_ENABLE_ADOPT_ABANDON" = "True" ]]; then - iniset $HEAT_CONF DEFAULT enable_stack_adopt true - iniset $HEAT_CONF DEFAULT enable_stack_abandon true - fi - - iniset $HEAT_CONF cache enabled "True" - iniset $HEAT_CONF cache backend "dogpile.cache.memory" - - sudo install -d -o $STACK_USER $HEAT_ENV_DIR $HEAT_TEMPLATES_DIR - - # copy the default environment - cp $HEAT_DIR/etc/heat/environment.d/* $HEAT_ENV_DIR/ - - # copy the default templates - cp $HEAT_DIR/etc/heat/templates/* $HEAT_TEMPLATES_DIR/ - - # Enable heat plugins. - # NOTE(nic): The symlink nonsense is necessary because when - # plugins are installed in "developer mode", the final component - # of their target directory is always "resources", which confuses - # Heat's plugin loader into believing that all plugins are named - # "resources", and therefore are all the same plugin; so it - # will only load one of them. Linking them all to a common - # location with unique names avoids that type of collision, - # while still allowing the plugins to be edited in-tree. - local err_count=0 - - if [ -n "$ENABLE_HEAT_PLUGINS" ]; then - mkdir -p $HEAT_PLUGIN_DIR - # Clean up cruft from any previous runs - rm -f $HEAT_PLUGIN_DIR/* - iniset $HEAT_CONF DEFAULT plugin_dirs $HEAT_PLUGIN_DIR - fi - - for heat_plugin in $ENABLE_HEAT_PLUGINS; do - if [ -d $HEAT_DIR/contrib/$heat_plugin ]; then - setup_package $HEAT_DIR/contrib/$heat_plugin -e - ln -s $HEAT_DIR/contrib/$heat_plugin/$heat_plugin/resources $HEAT_PLUGIN_DIR/$heat_plugin - else - : # clear retval on the test so that we can roll up errors - err $LINENO "Requested Heat plugin(${heat_plugin}) not found." - err_count=$(($err_count + 1)) - fi - done - [ $err_count -eq 0 ] || die $LINENO "$err_count of the requested Heat plugins could not be installed." -} - -# init_heat() - Initialize database -function init_heat { - - # (re)create heat database - recreate_database heat - - $HEAT_BIN_DIR/heat-manage --config-file $HEAT_CONF db_sync - create_heat_cache_dir -} - -# create_heat_cache_dir() - Part of the init_heat() process -function create_heat_cache_dir { - # Create cache dirs - sudo install -d -o $STACK_USER $HEAT_AUTH_CACHE_DIR -} - -# install_heatclient() - Collect source and prepare -function install_heatclient { - if use_library_from_git "python-heatclient"; then - git_clone_by_name "python-heatclient" - setup_dev_lib "python-heatclient" - sudo install -D -m 0644 -o $STACK_USER {${GITDIR["python-heatclient"]}/tools/,/etc/bash_completion.d/}heat.bash_completion - fi -} - -# install_heat() - Collect source and prepare -function install_heat { - git_clone $HEAT_REPO $HEAT_DIR $HEAT_BRANCH - setup_develop $HEAT_DIR - if [ "$HEAT_USE_MOD_WSGI" == "True" ]; then - install_apache_wsgi - fi -} - -# install_heat_other() - Collect source and prepare -function install_heat_other { - git_clone $HEAT_CFNTOOLS_REPO $HEAT_CFNTOOLS_DIR $HEAT_CFNTOOLS_BRANCH - git_clone $HEAT_TEMPLATES_REPO $HEAT_TEMPLATES_REPO_DIR $HEAT_TEMPLATES_BRANCH - git_clone $OAC_REPO $OAC_DIR $OAC_BRANCH - git_clone $OCC_REPO $OCC_DIR $OCC_BRANCH - git_clone $ORC_REPO $ORC_DIR $ORC_BRANCH -} - -# start_heat() - Start running processes, including screen -function start_heat { - run_process h-eng "$HEAT_BIN_DIR/heat-engine --config-file=$HEAT_CONF" - - # If the site is not enabled then we are in a grenade scenario - local enabled_site_file - enabled_site_file=$(apache_site_config_for heat-api) - if [ -f ${enabled_site_file} ] && [ "$HEAT_USE_MOD_WSGI" == "True" ]; then - enable_apache_site heat-api - enable_apache_site heat-api-cfn - enable_apache_site heat-api-cloudwatch - restart_apache_server - tail_log heat-api /var/log/$APACHE_NAME/heat-api.log - tail_log heat-api-cfn /var/log/$APACHE_NAME/heat-api-cfn.log - tail_log heat-api-cloudwatch /var/log/$APACHE_NAME/heat-api-cloudwatch.log - else - run_process h-api "$HEAT_BIN_DIR/heat-api --config-file=$HEAT_CONF" - run_process h-api-cfn "$HEAT_BIN_DIR/heat-api-cfn --config-file=$HEAT_CONF" - run_process h-api-cw "$HEAT_BIN_DIR/heat-api-cloudwatch --config-file=$HEAT_CONF" - fi -} - -# stop_heat() - Stop running processes -function stop_heat { - # Kill the screen windows - stop_process h-eng - - if [ "$HEAT_USE_MOD_WSGI" == "True" ]; then - disable_apache_site heat-api - disable_apache_site heat-api-cfn - disable_apache_site heat-api-cloudwatch - restart_apache_server - else - local serv - for serv in h-api h-api-cfn h-api-cw; do - stop_process $serv - done - fi - -} - -# _cleanup_heat_apache_wsgi() - Remove wsgi files, disable and remove apache vhost file -function _cleanup_heat_apache_wsgi { - sudo rm -f $(apache_site_config_for heat-api) - sudo rm -f $(apache_site_config_for heat-api-cfn) - sudo rm -f $(apache_site_config_for heat-api-cloudwatch) -} - -# _config_heat_apache_wsgi() - Set WSGI config files of Heat -function _config_heat_apache_wsgi { - - local heat_apache_conf - heat_apache_conf=$(apache_site_config_for heat-api) - local heat_cfn_apache_conf - heat_cfn_apache_conf=$(apache_site_config_for heat-api-cfn) - local heat_cloudwatch_apache_conf - heat_cloudwatch_apache_conf=$(apache_site_config_for heat-api-cloudwatch) - local heat_ssl="" - local heat_certfile="" - local heat_keyfile="" - local heat_api_port=$HEAT_API_PORT - local heat_cfn_api_port=$HEAT_API_CFN_PORT - local heat_cw_api_port=$HEAT_API_CW_PORT - local venv_path="" - - sudo cp $FILES/apache-heat-api.template $heat_apache_conf - sudo sed -e " - s|%PUBLICPORT%|$heat_api_port|g; - s|%APACHE_NAME%|$APACHE_NAME|g; - s|%HEAT_BIN_DIR%|$HEAT_BIN_DIR|g; - s|%SSLENGINE%|$heat_ssl|g; - s|%SSLCERTFILE%|$heat_certfile|g; - s|%SSLKEYFILE%|$heat_keyfile|g; - s|%USER%|$STACK_USER|g; - s|%VIRTUALENV%|$venv_path|g - " -i $heat_apache_conf - - sudo cp $FILES/apache-heat-api-cfn.template $heat_cfn_apache_conf - sudo sed -e " - s|%PUBLICPORT%|$heat_cfn_api_port|g; - s|%APACHE_NAME%|$APACHE_NAME|g; - s|%HEAT_BIN_DIR%|$HEAT_BIN_DIR|g; - s|%SSLENGINE%|$heat_ssl|g; - s|%SSLCERTFILE%|$heat_certfile|g; - s|%SSLKEYFILE%|$heat_keyfile|g; - s|%USER%|$STACK_USER|g; - s|%VIRTUALENV%|$venv_path|g - " -i $heat_cfn_apache_conf - - sudo cp $FILES/apache-heat-api-cloudwatch.template $heat_cloudwatch_apache_conf - sudo sed -e " - s|%PUBLICPORT%|$heat_cw_api_port|g; - s|%APACHE_NAME%|$APACHE_NAME|g; - s|%HEAT_BIN_DIR%|$HEAT_BIN_DIR|g; - s|%SSLENGINE%|$heat_ssl|g; - s|%SSLCERTFILE%|$heat_certfile|g; - s|%SSLKEYFILE%|$heat_keyfile|g; - s|%USER%|$STACK_USER|g; - s|%VIRTUALENV%|$venv_path|g - " -i $heat_cloudwatch_apache_conf -} - - -# create_heat_accounts() - Set up common required heat accounts -function create_heat_accounts { - if [[ "$HEAT_STANDALONE" != "True" ]]; then - - create_service_user "heat" "admin" - get_or_create_service "heat" "orchestration" "Heat Orchestration Service" - get_or_create_endpoint \ - "orchestration" \ - "$REGION_NAME" \ - "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(project_id)s" \ - "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(project_id)s" \ - "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(project_id)s" - - get_or_create_service "heat-cfn" "cloudformation" "Heat CloudFormation Service" - get_or_create_endpoint \ - "cloudformation" \ - "$REGION_NAME" \ - "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1" \ - "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1" \ - "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1" - - # heat_stack_user role is for users created by Heat - get_or_create_role "heat_stack_user" - fi - - if [[ "$HEAT_STACK_DOMAIN" == "True" ]]; then - # domain -> heat and user -> heat_domain_admin - domain_id=$(get_or_create_domain heat 'Owns users and projects created by heat') - iniset $HEAT_CONF DEFAULT stack_user_domain_id ${domain_id} - get_or_create_user heat_domain_admin $SERVICE_PASSWORD heat - get_or_add_user_domain_role admin heat_domain_admin heat - iniset $HEAT_CONF DEFAULT stack_domain_admin heat_domain_admin - iniset $HEAT_CONF DEFAULT stack_domain_admin_password $SERVICE_PASSWORD - fi -} - -# build_heat_pip_mirror() - Build a pip mirror containing heat agent projects -function build_heat_pip_mirror { - local project_dirs="$OCC_DIR $OAC_DIR $ORC_DIR $HEAT_CFNTOOLS_DIR" - local projpath proj package - - rm -rf $HEAT_PIP_REPO - mkdir -p $HEAT_PIP_REPO - - echo "" > $HEAT_PIP_REPO/index.html - for projpath in $project_dirs; do - proj=$(basename $projpath) - mkdir -p $HEAT_PIP_REPO/$proj - pushd $projpath - rm -rf dist - python setup.py sdist - pushd dist - package=$(ls *) - mv $package $HEAT_PIP_REPO/$proj/$package - popd - - echo "$package" > $HEAT_PIP_REPO/$proj/index.html - echo "$proj
" >> $HEAT_PIP_REPO/index.html - - popd - done - - echo "" >> $HEAT_PIP_REPO/index.html - - local heat_pip_repo_apache_conf - heat_pip_repo_apache_conf=$(apache_site_config_for heat_pip_repo) - - sudo cp $FILES/apache-heat-pip-repo.template $heat_pip_repo_apache_conf - sudo sed -e " - s|%HEAT_PIP_REPO%|$HEAT_PIP_REPO|g; - s|%HEAT_PIP_REPO_PORT%|$HEAT_PIP_REPO_PORT|g; - s|%APACHE_NAME%|$APACHE_NAME|g; - " -i $heat_pip_repo_apache_conf - enable_apache_site heat_pip_repo - restart_apache_server - sudo iptables -I INPUT -d $HOST_IP -p tcp --dport $HEAT_PIP_REPO_PORT -j ACCEPT || true -} - -# Restore xtrace -$_XTRACE_HEAT - -# Tell emacs to use shell-script-mode -## Local variables: -## mode: shell-script -## End: diff --git a/stack.sh b/stack.sh index 54485b60b9..aa3b1f6709 100755 --- a/stack.sh +++ b/stack.sh @@ -572,7 +572,6 @@ source $TOP_DIR/lib/nova source $TOP_DIR/lib/placement source $TOP_DIR/lib/cinder source $TOP_DIR/lib/swift -source $TOP_DIR/lib/heat source $TOP_DIR/lib/neutron source $TOP_DIR/lib/neutron-legacy source $TOP_DIR/lib/ldap @@ -800,9 +799,6 @@ fi if is_service_enabled neutron nova horizon; then install_neutronclient fi -if is_service_enabled heat horizon; then - install_heatclient -fi # Install shared libraries if is_service_enabled cinder nova; then @@ -873,13 +869,6 @@ if is_service_enabled horizon; then stack_install_service horizon fi -if is_service_enabled heat; then - stack_install_service heat - install_heat_other - cleanup_heat - configure_heat -fi - if is_service_enabled tls-proxy || [ "$USE_SSL" == "True" ]; then configure_CA init_CA @@ -1071,10 +1060,6 @@ if is_service_enabled keystone; then create_swift_accounts fi - if is_service_enabled heat; then - create_heat_accounts - fi - fi # Write a clouds.yaml file @@ -1284,18 +1269,6 @@ if is_service_enabled cinder; then create_volume_types fi -# Configure and launch Heat engine, api and metadata -if is_service_enabled heat; then - # Initialize heat - echo_summary "Configuring Heat" - init_heat - echo_summary "Starting Heat" - start_heat - if [ "$HEAT_BUILD_PIP_MIRROR" = "True" ]; then - echo_summary "Building Heat pip mirror" - build_heat_pip_mirror - fi -fi if is_service_enabled horizon; then echo_summary "Starting Horizon" diff --git a/stackrc b/stackrc index ea8b044faf..b47cd18d13 100644 --- a/stackrc +++ b/stackrc @@ -239,10 +239,6 @@ CINDER_BRANCH=${CINDER_BRANCH:-master} GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git} GLANCE_BRANCH=${GLANCE_BRANCH:-master} -# heat service -HEAT_REPO=${HEAT_REPO:-${GIT_BASE}/openstack/heat.git} -HEAT_BRANCH=${HEAT_BRANCH:-master} - # django powered web control panel for openstack HORIZON_REPO=${HORIZON_REPO:-${GIT_BASE}/openstack/horizon.git} HORIZON_BRANCH=${HORIZON_BRANCH:-master} @@ -301,10 +297,6 @@ GITBRANCH["python-brick-cinderclient-ext"]=${BRICK_CINDERCLIENT_BRANCH:-master} GITREPO["python-glanceclient"]=${GLANCECLIENT_REPO:-${GIT_BASE}/openstack/python-glanceclient.git} GITBRANCH["python-glanceclient"]=${GLANCECLIENT_BRANCH:-master} -# python heat client library -GITREPO["python-heatclient"]=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-heatclient.git} -GITBRANCH["python-heatclient"]=${HEATCLIENT_BRANCH:-master} - # ironic client GITREPO["python-ironicclient"]=${IRONICCLIENT_REPO:-${GIT_BASE}/openstack/python-ironicclient.git} GITBRANCH["python-ironicclient"]=${IRONICCLIENT_BRANCH:-master} diff --git a/tests/test_libs_from_pypi.sh b/tests/test_libs_from_pypi.sh index fb55023886..415fec506d 100755 --- a/tests/test_libs_from_pypi.sh +++ b/tests/test_libs_from_pypi.sh @@ -32,7 +32,7 @@ done ALL_LIBS="python-novaclient oslo.config pbr oslo.context" ALL_LIBS+=" python-keystoneclient taskflow oslo.middleware pycadf" ALL_LIBS+=" python-glanceclient python-ironicclient" -ALL_LIBS+=" oslo.messaging oslo.log cliff python-heatclient stevedore" +ALL_LIBS+=" oslo.messaging oslo.log cliff stevedore" ALL_LIBS+=" python-cinderclient glance_store oslo.concurrency oslo.db" ALL_LIBS+=" oslo.versionedobjects oslo.vmware keystonemiddleware" ALL_LIBS+=" oslo.serialization django_openstack_auth" diff --git a/unstack.sh b/unstack.sh index c05d1f0952..6cd039f638 100755 --- a/unstack.sh +++ b/unstack.sh @@ -66,7 +66,6 @@ source $TOP_DIR/lib/nova source $TOP_DIR/lib/placement source $TOP_DIR/lib/cinder source $TOP_DIR/lib/swift -source $TOP_DIR/lib/heat source $TOP_DIR/lib/neutron source $TOP_DIR/lib/neutron-legacy source $TOP_DIR/lib/ldap @@ -99,10 +98,6 @@ run_phase unstack # Call service stop -if is_service_enabled heat; then - stop_heat -fi - if is_service_enabled nova; then stop_nova fi