Remove references to the multiple config files
Only refer to heat.conf in the docs and scripts. For install.sh copy the iniset() function from devstack to assist in setting some semi-sane defaults. Change-Id: I933891e35103c003f1272bc89c7b42d2ad76697b
This commit is contained in:
parent
752da8e0c1
commit
ae28bf4c89
@ -63,7 +63,7 @@ start_mysql_server() {
|
|||||||
|
|
||||||
MYSQL_HEAT_PW_DEFAULT="heat"
|
MYSQL_HEAT_PW_DEFAULT="heat"
|
||||||
MYSQL_HEAT_PW=${MYSQL_HEAT_PW_DEFAULT}
|
MYSQL_HEAT_PW=${MYSQL_HEAT_PW_DEFAULT}
|
||||||
HEAT_CONFIG="/etc/heat/heat-engine.conf"
|
HEAT_CONFIG="/etc/heat/heat.conf"
|
||||||
ASSUME_YES=""
|
ASSUME_YES=""
|
||||||
ELEVATE=""
|
ELEVATE=""
|
||||||
|
|
||||||
|
@ -111,9 +111,7 @@ In the heat directory, run the install script::
|
|||||||
|
|
||||||
If running OpenStack grizzly installed via tools/openstack, it is necessary to modify the default service user password::
|
If running OpenStack grizzly installed via tools/openstack, it is necessary to modify the default service user password::
|
||||||
|
|
||||||
sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cfn.conf
|
sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat.conf
|
||||||
sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api-cloudwatch.conf
|
|
||||||
sudo sed -i "s/verybadpass/secrete/" /etc/heat/heat-api.conf
|
|
||||||
|
|
||||||
Source the keystone credentials created with tools/openstack
|
Source the keystone credentials created with tools/openstack
|
||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
@ -186,9 +184,10 @@ The heat engine configuration file should be updated with the address of the bri
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
sudo sed -i -e "/heat_metadata_server_url/ s/127\.0\.0\.1/${BRIDGE_IP}/" /etc/heat/heat-engine.conf
|
sudo sed -i -e "/^\[DEFAULT\]/ a\\\nheat_metadata_server_url=http://${BRIDGE_IP}:8000/\n" /etc/heat/heat.conf
|
||||||
sudo sed -i -e "/heat_waitcondition_server_url/ s/127\.0\.0\.1/${BRIDGE_IP}/" /etc/heat/heat-engine.conf
|
sudo sed -i -e "/^\[DEFAULT\]/ a\\\nheat_waitcondition_server_url=http://${BRIDGE_IP}:8000/v1/waitcondition/" /etc/heat/heat.conf
|
||||||
sudo sed -i -e "/heat_watch_server_url/ s/127\.0\.0\.1/${BRIDGE_IP}/" /etc/heat/heat-engine.conf
|
sudo sed -i -e "/^\[DEFAULT\]/ a\\\nheat_watch_server_url=http://${BRIDGE_IP}:8003/" /etc/heat/heat.conf
|
||||||
|
|
||||||
|
|
||||||
Launch the Heat services
|
Launch the Heat services
|
||||||
------------------------
|
------------------------
|
||||||
|
@ -101,9 +101,7 @@ Modify configuration for admin password
|
|||||||
Later a keystone user called '''heat''' will be created. At this point a password for that user needs to be chosen.
|
Later a keystone user called '''heat''' will be created. At this point a password for that user needs to be chosen.
|
||||||
The following files will need editing:
|
The following files will need editing:
|
||||||
|
|
||||||
- /etc/heat/heat-api-cfn.conf
|
- /etc/heat/heat.conf
|
||||||
- /etc/heat/heat-api-cloudwatch.conf
|
|
||||||
- /etc/heat/heat-api.conf
|
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
@ -36,4 +36,4 @@ OPTIONS
|
|||||||
FILES
|
FILES
|
||||||
========
|
========
|
||||||
|
|
||||||
* /etc/heat/heat-api-cfn.conf
|
* /etc/heat/heat.conf
|
||||||
|
@ -30,4 +30,4 @@ OPTIONS
|
|||||||
FILES
|
FILES
|
||||||
========
|
========
|
||||||
|
|
||||||
* /etc/heat/heat-api-cloudwatch.conf
|
* /etc/heat/heat.conf
|
||||||
|
@ -36,4 +36,4 @@ OPTIONS
|
|||||||
FILES
|
FILES
|
||||||
========
|
========
|
||||||
|
|
||||||
* /etc/heat/heat-api.conf
|
* /etc/heat/heat.conf
|
||||||
|
@ -35,4 +35,4 @@ OPTIONS
|
|||||||
FILES
|
FILES
|
||||||
========
|
========
|
||||||
|
|
||||||
* /etc/heat/heat-engine.conf
|
* /etc/heat/heat.conf
|
||||||
|
@ -7,7 +7,7 @@ pipeline = faultwrap versionnegotiation authtoken context apiv1app
|
|||||||
# ie. uses alternative auth backend that authenticates users against keystone
|
# ie. uses alternative auth backend that authenticates users against keystone
|
||||||
# using username and password instead of validating token (which requires
|
# using username and password instead of validating token (which requires
|
||||||
# an admin/service token).
|
# an admin/service token).
|
||||||
# To enable, in heat-api.conf:
|
# To enable, in heat.conf:
|
||||||
# [paste_deploy]
|
# [paste_deploy]
|
||||||
# flavor = standalone
|
# flavor = standalone
|
||||||
#
|
#
|
||||||
@ -15,7 +15,7 @@ pipeline = faultwrap versionnegotiation authtoken context apiv1app
|
|||||||
pipeline = faultwrap versionnegotiation authpassword context apiv1app
|
pipeline = faultwrap versionnegotiation authpassword context apiv1app
|
||||||
|
|
||||||
# heat-api pipeline for custom cloud backends
|
# heat-api pipeline for custom cloud backends
|
||||||
# i.e. in heat-api.conf:
|
# i.e. in heat.conf:
|
||||||
# [paste_deploy]
|
# [paste_deploy]
|
||||||
# flavor = custombackend
|
# flavor = custombackend
|
||||||
#
|
#
|
||||||
|
@ -27,7 +27,7 @@ if __name__ == '__main__':
|
|||||||
config = ConfigParser.SafeConfigParser()
|
config = ConfigParser.SafeConfigParser()
|
||||||
try:
|
try:
|
||||||
config = ConfigParser.SafeConfigParser()
|
config = ConfigParser.SafeConfigParser()
|
||||||
config.readfp(open('/etc/heat/heat-engine.conf'))
|
config.readfp(open('/etc/heat/heat.conf'))
|
||||||
sql_connection = config.get('DEFAULT', 'sql_connection')
|
sql_connection = config.get('DEFAULT', 'sql_connection')
|
||||||
except Exception:
|
except Exception:
|
||||||
sql_connection = 'mysql://heat:heat@localhost/heat'
|
sql_connection = 'mysql://heat:heat@localhost/heat'
|
||||||
|
73
install.sh
73
install.sh
@ -35,16 +35,60 @@ detect_rabbit() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
sed_if_rabbit() {
|
# Determinate is the given option present in the INI file
|
||||||
DEFAULT_RABBIT_PASSWORD="guest"
|
# ini_has_option config-file section option
|
||||||
|
function ini_has_option() {
|
||||||
|
local file=$1
|
||||||
|
local section=$2
|
||||||
|
local option=$3
|
||||||
|
local line
|
||||||
|
line=$(sed -ne "/^\[$section\]/,/^\[.*\]/ { /^$option[ \t]*=/ p; }" "$file")
|
||||||
|
[ -n "$line" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set an option in an INI file
|
||||||
|
# iniset config-file section option value
|
||||||
|
function iniset() {
|
||||||
|
local file=$1
|
||||||
|
local section=$2
|
||||||
|
local option=$3
|
||||||
|
local value=$4
|
||||||
|
if ! grep -q "^\[$section\]" "$file"; then
|
||||||
|
# Add section at the end
|
||||||
|
echo -e "\n[$section]" >>"$file"
|
||||||
|
fi
|
||||||
|
if ! ini_has_option "$file" "$section" "$option"; then
|
||||||
|
# Add it
|
||||||
|
sed -i -e "/^\[$section\]/ a\\
|
||||||
|
$option = $value
|
||||||
|
" "$file"
|
||||||
|
else
|
||||||
|
# Replace it
|
||||||
|
sed -i -e "/^\[$section\]/,/^\[.*\]/ s|^\($option[ \t]*=[ \t]*\).*$|\1$value|" "$file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
basic_configuration() {
|
||||||
conf_path=$1
|
conf_path=$1
|
||||||
if echo $conf_path | grep ".conf$" >/dev/null 2>&1
|
if echo $conf_path | grep ".conf$" >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
if detect_rabbit
|
iniset $target DEFAULT auth_encryption_key `hexdump -n 16 -v -e '/1 "%02x"' /dev/random`
|
||||||
|
iniset $target DEFAULT db_backend heat.db.sqlalchemy.api
|
||||||
|
iniset $target DEFAULT sql_connection "mysql://heat:heat@localhost/heat"
|
||||||
|
|
||||||
|
BRIDGE_IP=127.0.0.1
|
||||||
|
iniset $target DEFAULT heat_metadata_server_url "http://${BRIDGE_IP}:8000/"
|
||||||
|
iniset $target DEFAULT heat_waitcondition_server_url "http://${BRIDGE_IP}:8000/v1/waitcondition/"
|
||||||
|
iniset $target DEFAULT heat_watch_server_url "http://${BRIDGE_IP}:8003/"
|
||||||
|
|
||||||
|
if detect_rabbit
|
||||||
then
|
then
|
||||||
echo "rabbitmq detected, configuring $conf_path for rabbit" >&2
|
echo "rabbitmq detected, configuring $conf_path for rabbit" >&2
|
||||||
sed -i "/^rpc_backend\b/ s/impl_qpid/impl_kombu/" $conf_path
|
iniset $conf_path DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu
|
||||||
sed -i "/^rpc_backend/a rabbit_password=$DEFAULT_RABBIT_PASSWORD" $conf_path
|
iniset $conf_path DEFAULT rabbit_password guest
|
||||||
|
else
|
||||||
|
echo "qpid detected, configuring $conf_path for qpid" >&2
|
||||||
|
iniset $conf_path DEFAULT rpc_backend heat.openstack.common.rpc.impl_qpid
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -55,19 +99,22 @@ install_dir() {
|
|||||||
|
|
||||||
for fn in $(ls $dir); do
|
for fn in $(ls $dir); do
|
||||||
f=$dir/$fn
|
f=$dir/$fn
|
||||||
|
target=$prefix/$f
|
||||||
|
if [ $fn = 'heat.conf.sample' ]; then
|
||||||
|
target=$prefix/$dir/heat.conf
|
||||||
|
fi
|
||||||
if [ -d $f ]; then
|
if [ -d $f ]; then
|
||||||
[ -d $prefix/$f ] || install -d $prefix/$f
|
[ -d $target ] || install -d $target
|
||||||
install_dir $f $prefix
|
install_dir $f $prefix
|
||||||
elif [ -f $prefix/$f ]; then
|
elif [ -f $target ]; then
|
||||||
echo "NOT replacing existing config file $prefix/$f" >&2
|
echo "NOT replacing existing config file $target" >&2
|
||||||
diff -u $prefix/$f $f
|
diff -u $target $f
|
||||||
else
|
else
|
||||||
echo "Installing $fn in $prefix/$dir" >&2
|
echo "Installing $fn in $prefix/$dir" >&2
|
||||||
install -m 664 $f $prefix/$dir
|
install -m 664 $f $target
|
||||||
if [ $fn = 'heat-engine.conf' ]; then
|
if [ $fn = 'heat.conf.sample' ]; then
|
||||||
sed -i "s/%ENCRYPTION_KEY%/`hexdump -n 16 -v -e '/1 "%02x"' /dev/random`/" $prefix/$f
|
basic_configuration $target
|
||||||
fi
|
fi
|
||||||
sed_if_rabbit $prefix/$f
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user